Difference between revisions of "BeagleBoard/GSoC/Application"

From eLinux.org
Jump to: navigation, search
m
(If you answered “yes” to the question above please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.)
(14 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
[[Category:Development Boards]]
 
[[Category:Development Boards]]
 
[[Category: BeagleBoard]]
 
[[Category: BeagleBoard]]
 +
[[Category: GSoC]]
  
 
==How does a mentoring organization apply?==
 
==How does a mentoring organization apply?==
  
The organization should choose a single administrator to submit its application via the Google Summer of Code 2013 site between March 18 – March 29, 2013.
+
The organization should choose a single administrator to submit its application via the Google Summer of Code 2014 site between February 3 - February 14 2014.
  
 
:Jason Kridner will be the administrator, but is looking for volunteers to help edit the application contents and to update the ideas.
 
:Jason Kridner will be the administrator, but is looking for volunteers to help edit the application contents and to update the ideas.
Line 18: Line 19:
 
BeagleBoard.org is an open source community of experienced hackers, hobbyists and engineers who are enthusiastic about  building powerful,open ARM-based systems based on the same processors used is in popular, high-end Android phones today. BeagleBoard.org’s vision is to improve access to small, low-power computing platforms that can be embedded into new creations using easy to use development tools, such as the web-based IDE. The hardware designs of all Beagle boards are open source with all schematics, bills-of-materials, layouts, etc. shared for building other devices. The software is also open source and is 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. Boards will be provided for free to any student participating in a BeagleBoard.org-related GSoC project.
 
BeagleBoard.org is an open source community of experienced hackers, hobbyists and engineers who are enthusiastic about  building powerful,open ARM-based systems based on the same processors used is in popular, high-end Android phones today. BeagleBoard.org’s vision is to improve access to small, low-power computing platforms that can be embedded into new creations using easy to use development tools, such as the web-based IDE. The hardware designs of all Beagle boards are open source with all schematics, bills-of-materials, layouts, etc. shared for building other devices. The software is also open source and is 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. Boards will be provided for free to any student participating in a BeagleBoard.org-related GSoC project.
  
Texas Instruments sponsors a number of BeagleBoard.org-related activities and the first members of the community were TI employees, however, the collaboration base is now stronger than ever with over 5,000 members on the mailing list, over 100,000 individual developers worldwide who have purchased Beagle hardware and over 150 developers who actively participate on the live chat (IRC channel) at any given time. Existing projects are often for the purpose of building robots, autonomous flying drones, automotive entertainment and navigation systems, home media centers, digital signs, wearable computers or gaming consoles and include versions of Android, Ubuntu, Angstrom, Gentoo, FFmpeg, XBMC, ROS, OpenCV and much more (with over 300 projects registered at http://beagleboard.org/project).
+
Texas Instruments sponsors a number of BeagleBoard.org-related activities and the first members of the community were TI employees, however, the collaboration base is now stronger than ever with over 5,000 members on the mailing list, over 100,000 individual developers worldwide who have purchased Beagle hardware and over 150 developers who actively participate on the live chat (IRC channel) at any given time. Existing projects are often for the purpose of building robots, autonomous flying drones, automotive entertainment and navigation systems, home media centers, digital signs, wearable computers, gaming consoles and even 3d printers! (over 380 projects registered at http://beagleboard.org/project/) Existing software compatibility includes various versions of Android, Ubuntu, Angstrom, Gentoo, FFmpeg, XBMC, ROS, OpenCV and much more.
  
 
===Home page===
 
===Home page===
Line 26: Line 27:
 
GPLv2
 
GPLv2
  
===Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating?===
+
===Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?===
By participating in GSoC 2013, we hope to grow our base of open source 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 BeagleBoard to take computing into more environments and with new environmental interactions.
+
By participating in GSoC 2014, we hope to inspire open source developers interested in physical computing, especially when it involves high-level operating systems and heterogeneous processor environments. In doing so, developers will be enabled to apply the core components running on BeagleBoard to more environments and with new environmental interactions.
  
Beyond basic technology issues, we also hope to create better versions of popular open source applications for this low-cost/low-power platform and the ARM, C6000 and SGX processors used to power the different Beagle boards. Because the Beagle platform has open source hardware, any software designed on it can be taken and put into entirely new products.
+
We hope to increase general interest in computers and electronics through improved access, simplified interfaces and example projects.
 +
 
 +
Because the Beagle platform is open source hardware, any software designed on it can be taken and put into entirely new products. Because we focus most of our support on Linux, we enable software developed in our projects to be easily used in other systems.
  
 
===Has your organization participated in past Google Summer of Codes?===
 
===Has your organization participated in past Google Summer of Codes?===
 
Yes.
 
Yes.
 +
 +
===How many potential mentors do you have for this year's program? What criteria did you use to select them?===
 +
We currently have 20 potential mentors for this year's program of which only 4 haven't previously mentored in GSoC. We've removed mentors from previous years who were under motivated to help students succeed and brought on mentors who have contributed significantly to our projects or related projects either through documentation or implementation. Most of our potential mentors are also in frequent contact with each other through IRC, Google+ and our primary developer mailing list to have confidence they can work together well.
  
 
===If you answered “yes” to the question above please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.===
 
===If you answered “yes” to the question above please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.===
Students advanced the state of the XBMC media center application on ARM, OpenCV using heterogeneous processing systems, FFTs on ARM, pulse width modulation under Linux, compilation and invocation of heterogeneous processor functions under Linux and USB bus analysis under Linux.  
+
BeagleBoard.org GSoC students have:
 +
* improved the Linux kernel support for analog-to-digital converters, software-based pulse width modulators and USB bus analysis,
 +
* implemented network protocols for booting a remote processor from Android, Linux or Windows hosts,
 +
* implemented Arduino-compatible software on top of Linux (code used by other hardware platforms, eg. Intel Galileo),
 +
* improved the functionality of Minix for operating system education,
 +
* improved the integration and performance on ARM or DSP processors of ROS, XBMC, FFTW and OpenCV,
 +
* and delivered a framework for compilation and invocation of heterogeneous processor functions.  
 +
 
 
We had an excellent set of mentors with 3 mentors for every student to ensure high availability of mentor time via the IRC channel. Our mentors had deep knowledge relevant to the projects and were able to assist the students in each of their technical challenges. We monitored student progress with weekly blog posts and IRC meetings to keep them on track and resolve any blocking issues. We collected short video presentations introducing each project, giving observers a good idea of the students' goals. We screened out projects that wouldn't provide sufficiently reusable software for the rest of the community.
 
We had an excellent set of mentors with 3 mentors for every student to ensure high availability of mentor time via the IRC channel. Our mentors had deep knowledge relevant to the projects and were able to assist the students in each of their technical challenges. We monitored student progress with weekly blog posts and IRC meetings to keep them on track and resolve any blocking issues. We collected short video presentations introducing each project, giving observers a good idea of the students' goals. We screened out projects that wouldn't provide sufficiently reusable software for the rest of the community.
  
We had some challenges shipping hardware to students on a timely basis and them getting charged taxes upon receipt, but we have plans in place to make it run smoother this year by getting local TI or other company offices involved. Getting local business offices involved would also enable a bit more face-to-face interaction as we can also invite local mentors to local meet-ups at those offices. Not all the code was directly adopted by the upstream projects and made available across the BeagleBoard community. Integration into a distribution will be a requirement this time to help with making the software more available to the BeagleBoard community and greater emphasis will be given on following up with upstream developers. More focus will be given to projects directly impacting the BeagleBoard community, rather than relying on upstream projects that might not be fundamentally motivated to adopt the patches.
+
Including a hardware component adds some challenges when shipping around the world. We learned from our participation in 2010 that we could use local businesses to help improve our worldwide shipping to get hardware to the students on-time (though we also found that more students already had hardware). In general, getting hardware to students is one of the more onerous challenges we have, but we've eliminated it as a road block.
 +
 
 +
Getting more face-to-face interaction continues to be a challenge, but our IRC interactions are strong and we've started to incorporate Google Hangouts in our collaboration.
 +
 
 +
We've greatly improved our success rate in getting code adopted by the upstream projects and made available across the BeagleBoard community by making integration into a distribution will be a requirement, giving greater emphasis on following up with upstream developers and focusing on projects directly impacting the BeagleBoard community, rather than relying on upstream projects that might not be fundamentally motivated to adopt the patches.
 +
 
 +
Pass/fail rate for 2010: 6 pass 0 fail
  
Pass/fail rate for 2010: 6/6
+
Pass/fail rate for 2013: 6 pass 0 fail (1 dropout for personal reasons)
  
 
===If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?===
 
===If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?===
Line 70: Line 89:
  
 
===What is your plan for dealing with disappearing mentors? Please be as specific as possible.===
 
===What is your plan for dealing with disappearing mentors? Please be as specific as possible.===
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.
+
We will choose mentors with a history of being involved in BeagleBoard.org projects and who are consistently responsive via IRC and e-mail. In the past and we plan to continue to have, in addition to the primary mentor, 2 secondary mentors who can step in, though we've never had a disappearing mentor. We've found the secondary mentors also help greatly with improving student/mentor communication. Mentors are 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 students to interact with your project's community before and during the program?===
 +
We encourage candidates to interact with community members on the IRC channel and mailing list ahead of the program to gather information required for their application. We will work with the students to produce YouTube videos to introduce their projects to the community. Weekly blog post updates put into the community general RSS feed during and after the program help keep the community informed. Students are encouraged to hang out on #beagle, which is active roughly 24/7, during the program and we continue to see students remain from last year.
  
===What steps will you take to encourage students to interact with your project's community before, during and after the program?===
+
===What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?===
We encourage candidates to interact with community members on the IRC channel and mailing list ahead of the program to gather information required for their application. We will work with the students to produce YouTube videos to introduce their projects to the community. Weekly blog post updates put into the community general RSS feed during and after the program help keep the community informed. Students are encouraged to hang out on #beagle, which is active roughly 24/7, during the program and we continue to see students remain from last year. We will give them hardware and “swag” following the program to keep them interested.
+
Many of our students are currently active in editing our ideas page and recruiting new Google Summer of Code students. We will give them hardware and “swag” following the program to keep them interested, but mostly we value their contributions and try to make sure that others in the community are exposed to those contributions. The greatest reward of producing quality code is having people use it and the world knowing you created it!
  
 
===Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.===
 
===Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.===
Line 81: Line 103:
 
BeagleBoard.org has not been approached by other organizations to vouch for them at this time.
 
BeagleBoard.org has not been approached by other organizations to vouch for them at this time.
  
===What will you do to encourage that your accepted students stick with the project after Google of Code concludes?===
+
===What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?===
 
Although we will start by using GSoC-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 before the end of summer of code so that they can continue to work on their projects via our IRC channel after GSoC concludes.
 
Although we will start by using GSoC-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 before the end of summer of code so that they can continue to work on their projects via our IRC channel after GSoC concludes.
 +
 +
Each student is asked to create a public blog for updating the community and logging their progress on the project. Blogs receive hits from around the world and people ask questions via the comments sections. This keeps the students engaged with the community and their previous work.

Revision as of 18:11, 13 February 2014


Contents

How does a mentoring organization apply?

The organization should choose a single administrator to submit its application via the Google Summer of Code 2014 site between February 3 - February 14 2014.

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

What should a mentoring organization application look like?

Organization Name

BeagleBoard.org

Description

BeagleBoard.org is an open source community of experienced hackers, hobbyists and engineers who are enthusiastic about building powerful,open ARM-based systems based on the same processors used is in popular, high-end Android phones today. BeagleBoard.org’s vision is to improve access to small, low-power computing platforms that can be embedded into new creations using easy to use development tools, such as the web-based IDE. The hardware designs of all Beagle boards are open source with all schematics, bills-of-materials, layouts, etc. shared for building other devices. The software is also open source and is 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. Boards will be provided for free to any student participating in a BeagleBoard.org-related GSoC project.

Texas Instruments sponsors a number of BeagleBoard.org-related activities and the first members of the community were TI employees, however, the collaboration base is now stronger than ever with over 5,000 members on the mailing list, over 100,000 individual developers worldwide who have purchased Beagle hardware and over 150 developers who actively participate on the live chat (IRC channel) at any given time. Existing projects are often for the purpose of building robots, autonomous flying drones, automotive entertainment and navigation systems, home media centers, digital signs, wearable computers, gaming consoles and even 3d printers! (over 380 projects registered at http://beagleboard.org/project/) Existing software compatibility includes various versions of Android, Ubuntu, Angstrom, Gentoo, FFmpeg, XBMC, ROS, OpenCV and much more.

Home page

http://beagleboard.org/

Main Organization License

GPLv2

Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?

By participating in GSoC 2014, we hope to inspire open source developers interested in physical computing, especially when it involves high-level operating systems and heterogeneous processor environments. In doing so, developers will be enabled to apply the core components running on BeagleBoard to more environments and with new environmental interactions.

We hope to increase general interest in computers and electronics through improved access, simplified interfaces and example projects.

Because the Beagle platform is open source hardware, any software designed on it can be taken and put into entirely new products. Because we focus most of our support on Linux, we enable software developed in our projects to be easily used in other systems.

Has your organization participated in past Google Summer of Codes?

Yes.

How many potential mentors do you have for this year's program? What criteria did you use to select them?

We currently have 20 potential mentors for this year's program of which only 4 haven't previously mentored in GSoC. We've removed mentors from previous years who were under motivated to help students succeed and brought on mentors who have contributed significantly to our projects or related projects either through documentation or implementation. Most of our potential mentors are also in frequent contact with each other through IRC, Google+ and our primary developer mailing list to have confidence they can work together well.

If you answered “yes” to the question above please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

BeagleBoard.org GSoC students have:

  • improved the Linux kernel support for analog-to-digital converters, software-based pulse width modulators and USB bus analysis,
  • implemented network protocols for booting a remote processor from Android, Linux or Windows hosts,
  • implemented Arduino-compatible software on top of Linux (code used by other hardware platforms, eg. Intel Galileo),
  • improved the functionality of Minix for operating system education,
  • improved the integration and performance on ARM or DSP processors of ROS, XBMC, FFTW and OpenCV,
  • and delivered a framework for compilation and invocation of heterogeneous processor functions.

We had an excellent set of mentors with 3 mentors for every student to ensure high availability of mentor time via the IRC channel. Our mentors had deep knowledge relevant to the projects and were able to assist the students in each of their technical challenges. We monitored student progress with weekly blog posts and IRC meetings to keep them on track and resolve any blocking issues. We collected short video presentations introducing each project, giving observers a good idea of the students' goals. We screened out projects that wouldn't provide sufficiently reusable software for the rest of the community.

Including a hardware component adds some challenges when shipping around the world. We learned from our participation in 2010 that we could use local businesses to help improve our worldwide shipping to get hardware to the students on-time (though we also found that more students already had hardware). In general, getting hardware to students is one of the more onerous challenges we have, but we've eliminated it as a road block.

Getting more face-to-face interaction continues to be a challenge, but our IRC interactions are strong and we've started to incorporate Google Hangouts in our collaboration.

We've greatly improved our success rate in getting code adopted by the upstream projects and made available across the BeagleBoard community by making integration into a distribution will be a requirement, giving greater emphasis on following up with upstream developers and focusing on projects directly impacting the BeagleBoard community, rather than relying on upstream projects that might not be fundamentally motivated to adopt the patches.

Pass/fail rate for 2010: 6 pass 0 fail

Pass/fail rate for 2013: 6 pass 0 fail (1 dropout for personal reasons)

If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?

N/A – BeagleBoard.org has applied and participated in the past.

What Open Source Initiative approved license(s) does your project use?

GPLv2 - http://opensource.org/licenses/GPL-2.0

What is the URL for your ideas page?

http://elinux.org/BeagleBoard/GSoC/Ideas

What is the main development mailing list for your organization?

http://groups.google.com/group/beagleboard: All things BeagleBoard
http://groups.google.com/group/beagleboard-gsoc: GSoC-specific things for BeagleBoard.org

What is the main IRC channel for your organization?

irc.freeenode.net #beagle

Who will be your backup organization administrator?

Cathy Wicks (c-wicks@ti.com)

What criteria did you use to select the mentors? 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. With the BeagleBoard.org community existing now for 5 years, many of the same members are still very active and well-known to our GSoC administrators. We typically meet up at Embedded Linux Conference, Design West, Linaro meetings and several other small events. Given frequent support over IRC, it is clear which proposed mentors are the best candidates.

What is your plan for dealing with disappearing students? Please be as specific as possible.

We will set the expectation that students should not be out of communication for more than 60 hours (i.e., 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 GSoC 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, as well).

What is your plan for dealing with disappearing mentors? Please be as specific as possible.

We will choose mentors with a history of being involved in BeagleBoard.org projects and who are consistently responsive via IRC and e-mail. In the past and we plan to continue to have, in addition to the primary mentor, 2 secondary mentors who can step in, though we've never had a disappearing mentor. We've found the secondary mentors also help greatly with improving student/mentor communication. Mentors are 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 students to interact with your project's community before and during the program?

We encourage candidates to interact with community members on the IRC channel and mailing list ahead of the program to gather information required for their application. We will work with the students to produce YouTube videos to introduce their projects to the community. Weekly blog post updates put into the community general RSS feed during and after the program help keep the community informed. Students are encouraged to hang out on #beagle, which is active roughly 24/7, during the program and we continue to see students remain from last year.

What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?

Many of our students are currently active in editing our ideas page and recruiting new Google Summer of Code students. We will give them hardware and “swag” following the program to keep them interested, but mostly we value their contributions and try to make sure that others in the community are exposed to those contributions. The greatest reward of producing quality code is having people use it and the world knowing you created it!

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

BeagleBoard.org is not a new organization to Google Summer of Code.

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.

BeagleBoard.org has not been approached by other organizations to vouch for them at this time.

What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

Although we will start by using GSoC-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 before the end of summer of code so that they can continue to work on their projects via our IRC channel after GSoC concludes.

Each student is asked to create a public blog for updating the community and logging their progress on the project. Blogs receive hits from around the world and people ask questions via the comments sections. This keeps the students engaged with the community and their previous work.