BeagleBoard/GSoC/Application

Applying to Google Summer of Code

Borrowed from http://sugarlabs.org/go/Summer_of_Code/SL_application. See http://code.google.com/p/google-summer-of-code/wiki/AdviceforMentors for more advice. To learn to navigate the actual Google Summer of Code website, see http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/userguide.

How does a mentoring organization apply?
The organization should choose a single administrator to submit its application via the GSoC web app between March 8-12, 2010.


 * Jason Kridner will be the administrator, but is looking for volunteers to help edit the application contents and to update the ideas.

Link ID
BeagleBoard

Group Name
BeagleBoard.org

Home Page URL
http://beagleboard.org/

Public Email
beagleboard@googlegroups.com

Main Organization License
GPLv2

Describe your organization.
BeagleBoard.org is a volunteer community behind building powerful, open, and embedded devices based on the OMAP3530. The vision is to enable much lower-power and lower-cost computing platforms that can be embedded into designs with confined spaces, limited batteries, and innovative user interfaces (web browsers available in every situation). The design is "open source hardware" with all of the schematic, bill-of-materials, layout, etc. shared for building other devices. The software is open source software generated by the community, such as the Angstrom Distribution, Ubuntu, Android and other Linux distributions. Compiler tools are free and the board is available at a low cost.

Texas Instruments sponsors some BeagleBoard.org related activities and the first members of the community were TI employees, but the collaboration base is now over 2,500 members on the mailing list, well over 10,000 individual developers having purchased development hardware around the world, and the IRC channel typically has over 150 developers on-line at any given time. Existing projects include several Android builds, Ubuntu, Angstrom, Gentoo, FFmpeg, MythTV, and much more (over 100 projects registered at http://beagleboard.org/project).

Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?
We hope to grow our base of developers interested in embedded and heterogeneous multi-core software development environments that provide long-term power and performance advantages over the limited use cases of desktop and existing mobile computers. We hope to enable those developers to apply the core components running on the Beagle Board to take computing into more environments and with new environmental interactions.

Beyond the basic technology issues, we hope to create better versions of popular open source applications for the OMAP3 platform and the ARM, C6000, and SGX processors contained within it. Because the Beagle Board is open source hardware, software designed on it can be taken and put in entirely new products.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.
No, although we did supply some hardware to students participating in GSoC for other organizations (Maemo) and some of our community members have been mentors for other organizations (again Maemo).

If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?
BeagleBoard.org applied in 2009.

What is the URL for your ideas page?
http://elinux.org/BeagleBoard/GSoC/Ideas

What is the main development mailing list or forum for your organization?
http://groups.google.com/group/beagleboard

What is the main IRC channel for your organization?
irc.freeenode.net #beagle

===Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.=== About you


 * 1) What is your name?
 * 2) What is your email address?
 * 3) What is your eLinux wiki username?
 * 4) What is your IRC nickname?
 * 5) What is the name of your School and in what country?
 * 6) What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)
 * 7) Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)
 * 8) Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

About your project


 * 1) What is the name of your project?
 * 2) Describe your project in 10-20 sentences. What are you making? For whom are you making it, and why do they need it? What technologies (programming languages, etc.) will you be using?
 * 3) What is the timeline for development of your project? The Summer of Code work period is about 11 weeks long, May 24 - August 9; tell us what you will be working on each week. The mid-term evaluation must be submitted by July 16, plan to have some strong results by July 12. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.)
 * 4) Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.  Provide references such as professors who know your work if you like.

You and the community


 * 1) If your project is successfully completed, what will its impact be on the BeagleBoard.org community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers received from feedback of members of the BeagleBoard.org community, at least one of whom should be a BeagleBoard.org GSoC mentor. Provide email contact information for non-GSoC mentors.
 * 2) What will you do if you get stuck on your project and your mentor isn't around?

Miscellaneous


 * 1) We want to make sure that you can set up a development environment before the summer starts. Please post an image of your running BeagleBoard on Flickr to the BeagleBoard group and provide a link. If you need a board, please indicate as such in your application and, if approved, we'll loan you a board to complete this portion. Please feel free to visit our IRC channel, #beagle on irc.freenode.net, and ask for help.
 * 2) Is there anything else we should have asked you?

What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible
Mentors were chosen based on personal knowledge of their contributions over IRC helping community members, the mailing list, and specific projects of interest.

What criteria do you use to select the members of your group? Please be as specific as possible.
Membership in the BeagleBoard.org community is open to all interested parties. Since this community is based on a common interest in a particular piece of hardware, there are no specific requirements for membership. Many community members are also members of specific open source projects, such as OpenEmbedded and GNU Radio. Other community members use and enhance existing open source software to develop innovative mobile applications using the Beagle Board.

What license(s) does your project use?
For code written for this project, we will use new and simplified BSD. When the project is based on an existing open source package, the license of that package will be used.

Existing code is primarily GPLv2 and all kernel code should be so. Some developers use other FOSS licenses, such as MIT, LGPL, etc. There are some TI codecs available for use on the platform that are provided under publicly-available binary-only licenses as well as other binary firmware builds distributed as part of the Linux kernel, but these are discouraged from being used as part of any student project.

What is your plan for dealing with disappearing students?
We will set the expectation that students will not be out of communication for more than 60 hours (ie, the length of a weekend) without prior notification to their mentor. We'll also hold mandatory weekly meetings in IRC for all the students to report on progress made, problems encountered, and proposed next steps.

All mentors are expected to review the SoC wiki and review the best practice sections. The project administrators will monitor all the projects and try to identify issues that might lead to disappearing contributors before the problem becomes unsolvable. (This applies to the next few answers also)

What is your plan for dealing with disappearing members?
TI-based mentors will have work-oriented commitments. We will choose non-TI-based mentors with a history of being involved in BeagleBoard.org projects and who are consistently responsive via IRC and e-mail. We plan to have secondary (paired mentors) and tertiary (general IRC channel) support for each project, and mentors will also be expected to attend the weekly check-in meetings on IRC. We will have a named contact in the same region and/or company as any mentor to assist in "pinging" any AWOL mentor.

What steps will you take to encourage contributors to interact with your project's community before, during and after the program?
We understand that it is difficult for new people to start using the existing project mailing lists and irc channel, so we will create a specific Summer of Code email list and irc channel. Potential mentors will use these paths to work with students to develop ideas and project proposals. In at least one case, potential mentors have an existing relationship with some students, they will work directly with this group to prepare proposals. We understand that the preferred communication channels are the BeagleBoard.org lists and irc channel, during the Community Bonding Period we will introduce students to the these communication channels.

During the Community Bonding Period we will supply students with Beagle Boards and help them setup development environments.

Once we have accepted proposals, we will continue to use these resources, and develop additional communication paths as required.

After the project, we plan to support students with successful projects in any wrap up work needed, such as submitting code to the upstream project.

What will you do to ensure that your accepted contributors stick with the project after GSoC concludes?
Although we will start by using SoC specific communication paths, all students will be expected to monitor the primary email list and irc channel. Over the course of the summer students will be encouraged to start using the primary communication channels to work on their project. By transitioning students to the primary communication channels, we hope to integrate students into the larger community prior to the end of the summer of code.

Who will be your backup organization administrator? Please include Google Account information.

 * Cathy Wicks 