Reproduced from http://www.haiku-os.org/news/2010-09-12_google_summer_code_2010_wrap_report In the past four years, the Haiku Project has had both the honor and privilege of being a Mentoring Organization in Google Summer of Code™[1]. This is a wonderful opportunity for the Project, as it exposes Haiku to many potential youthful and energetic minds that are interested in developing Open Source Software. Even more exciting, it provides a unique opportunity of generating income for the Project while growing a handful of carefully selected students into knowledgeable and potential long-term contributors. In the larger scope of Google Summer of Code, here is a passage by Carol Smith from Google's Open Source Blog[2]: Over 2000 mentors and over 1000 students from 69 countries began working together on over 150 open source software projects, and we're happy to announce that 89% of our student participants have received passing final evaluations, which is about 4% better than 2009. This is our best success rate to date[3]. Specifically for the Haiku Project in 2010, seven students were allotted. Of those, five students successfully passed the program! During the program, one student (Alex Wilson) was granted commit access to the Haiku Project. Additionally, numerous students have expressed plans to continue contributing in the future. Student Summaries Atis Elsts * Implementing IPv6 * Google Code Submission At the moment, IPv6 is not included in default images. However, basic IP address assignment, ICMP, and ping6 is working. Some code, which includes NetServer and ifconfig has yet to be merged and is accessible at http://github.com/kfx/haikuipv6. Atis plans to continue working on the existing problems in the network stack (e.g., #6502) and to eventually bring IPv6 to a fully working status.[4] Janito Vaqueiro Ferreira Filho * Implementing ext3 support * Google Code Submission Ext3 Indexed Directory Lookup was committed in r37295 and was needed for implementing read support. For write support, the basics of journaling is implemented, but needs more thorough testing. The majority of his code was committed earlier in the week as r38573. In addition to working on ext support, Janito fixed some issues relating to BFS and the block cache. (r37899, r38103 )[5] Lucian Adrian Grijincu * lkl-haiku-fsd Lucian was one of the most promising students during the initial selection phase and a clear majority of our mentors voiced votes of confidence in him. However, he did not receive a passing evaluation at midterms. This was due to a combination of both failing to reply to his mentor's inquiries for a period several weeks and the code produced not being reflective of the time leading upto midterms. The code is hosted on his github account: lkl-linux-2.6, lkl-haiku-fs.[6] Christopher Humphries * Improve and Extend Media Player * Google Code Submission Shortly after the start of the coding period, Christopher received news that his university had retracted their word on accepting Google Summer of Code as a valid internship. This necessitated changes to his project proposal -- specifically reducing the scope of the project to DVD support. Originally, he started out making a media plug-in, but finally opted for an add-on. The latter provided better interfacing and control for application -- mostly because the library needs path information. Other problems cropped up, such as the absence of a demuxing node and faulty mpeg decoding. This led to the realization that the kit needs more before it can do the job. Christopher has even presented some thoughts Pitching Media Kit ideas Alternatives to plug-in sniffing A true streaming equivalent of BDataIO His code is hosted on his github account: Haiku-DVD-addon[7] Christophe Huriaux * Creating Services Kit core elements * Google Code Submission As mentioned in his recent blog post, the Services Kit is capable of handling HTTP requests (file uploading, POST requests, authentication, cookie support, ...). It supports asynchronous as well as synchronous requests. Lastly, Christophe has started updating WebPositive to utilize Services Kit. This provides a real world test-bed scenario & will improve WebPositive by replacing the cURL backend with native API.[8] Nathan Mentley * x86_64 Port Nathan did not receive a passing evaluation at finals. Maintaining regular communication and providing in-progress patches were the two big factors leading to that decision. As for the project status, overall the kernel is not completed. The majority of the code is stubbed out, but important bits, such as vm86 & SMP are not implemented. Additionally, paging and jumping into long mode have issues that need to be resolved. Nathan has mentioned that, the project "proved to be a more difficult challenge that [he] expected." An older set of patches are available on Trac: #6306, #6307, #6308, #6309, #6310. [9] Alex Wilson * Taking the Haiku Layout API public * Google Code Submission This involved archiving of BLayout, BLayoutItem and subclasses (#5525), deriving BLayout from BLayoutItem (#6407), and updating numerous applications to use the new Layout API. In addition to his original proposal, numerous archiving features were implemented as part of #6256 (BArchiver, BUnarchiver, BArchivable) Alex was also granted commit access halfway through the coding period! In the future, he plans to working towards making the Layout API suitable for public consumption.[10] In closing ... As always, many thanks to: Google for sponsoring this program and allowing the Haiku Project to participate, Carol Smith (Google Summer of Code Program Administrator), and our mentors who helped make this endeavor successful. More important than the short-term code contributions is that the students are now more experienced open source developers -- specifically for Haiku. One student is now a full fledged contributor to the Project, and several others show promise of growing into contributors. This empowers them with the confidence and ability to continue making valued contributions to Haiku (or any open source project for that matter). As an open source project that develops an operating system, our pool of active committers is relatively small and being able to embrace new contributors is literally a wonderful thing. As with every year of participating in Google Summer of Code as a Mentoring Organization, we try to identify areas that can be improved for next year. * what we as a Mentoring Organization want to achieve (from both Google Summer of Code overall and from each student) * the concept of our Mentor Pool, as opposed to a strict "This is my mentor" mentality * expectations and guidelines for students (how their progress is evaluated for pass/fail, the expected interactions, ...) * introducing more milestones (to make the time more manageable for the students) * re-organizing the student application template (requiring a timeline, what the student expects from the mentor, ...) 1: http://socghop.appspot.com/ 2: http://google-opensource.blogspot.com/2010/08/our-6th-google-summer-of-code-has-come.html 3: http://code.google.com/p/google-summer-of-code/wiki/ProgramStatistics 4: http://www.haiku-os.org/blog/kfx/2010-04-28_gsoc_ipv6_implementation_haiku http://code.google.com/p/google-summer-of-code-2010-haiku/downloads/detail?name=Atis_Elsts.tar.gz&can=2&q= http://dev.haiku-os.org/ticket/6502 http://github.com/kfx/haikuipv6 5: http://www.haiku-os.org/blog/jvff/2010-04-28_my_gsoc_application_implement_ext23_read_and_write_support_haiku http://code.google.com/p/google-summer-of-code-2010-haiku/downloads/detail?name=Janito_Vaqueiro_Ferreira_Filho.tar.gz&can=2&q= http://dev.haiku-os.org/changeset/37295 http://www.haiku-os.org/blog/jvff/2010-08-05_ext3_journal_implementation http://dev.haiku-os.org/changeset/38573 http://dev.haiku-os.org/changeset/37899 http://dev.haiku-os.org/changeset/38103 6: http://www.haiku-os.org/blog/lucian/2010-04-28_haiku_file_system_drivers_any_linux_supported_file_system http://github.com/luciang/lkl-linux-2.6 http://github.com/luciang/haiku 7: http://www.haiku-os.org/blog/engleek/2010-04-28_gsoc_improve_and_extend_media_player http://code.google.com/p/google-summer-of-code-2010-haiku/downloads/detail?name=Christopher_Humphries.tar.gz&can=2&q= //www.freelists.org/post/haiku-development/Pitching-Media-Kit-ideas //www.freelists.org/post/haiku-development/Alternatives-to-plugin-sniffing //www.freelists.org/post/haiku-development/A-true-streaming-equivalent-of-BDataIO http://github.com/engleek/Haiku-DVD-addon/ 8: http://www.haiku-os.org/blog/shisui/2010-04-28_gsoc_proposal_creating_services_kit_core_elements http://code.google.com/p/google-summer-of-code-2010-haiku/downloads/detail?name=Christophe_Huriaux.tar.gz&can=2&q= http://www.haiku-os.org/blog/shisui/2010-08-19_services_kit_features_overview 9: http://www.haiku-os.org/blog/nmentley/2010-04-28_gsoc_x86_64_port http://dev.haiku-os.org/ticket/6306 http://dev.haiku-os.org/ticket/6307 http://dev.haiku-os.org/ticket/6308 http://dev.haiku-os.org/ticket/6309 http://dev.haiku-os.org/ticket/6310 10: http://www.haiku-os.org/blog/yourpalal/2010-04-28_taking_haiku_layout_api_public http://code.google.com/p/google-summer-of-code-2010-haiku/downloads/detail?name=Alex_Wilson.tar.gz&can=2&q= http://dev.haiku-os.org/ticket/5525 http://dev.haiku-os.org/ticket/6407 http://dev.haiku-os.org/ticket/6256 http://api.haiku-os.org/classBArchiver.html http://api.haiku-os.org/classBUnarchiver.html http://api.haiku-os.org/classBArchivable.html