Contributor Guide#
Important
Contributors will be expected to execute a series of prerequisites to demonstrate and expand familiarity with embedded systems development. Don’t worry, the live chat channel has over 1,000 active members to travel with you on your journey.
General requirements#
Note
Google Summer of Code is open to individuals age 18 and older in most countries who are new or beginner contributors to open source coding projects. Read more on the GSoC site Rules page and the FAQ page.
All projects have the following basic requirements:
Contributors must create accounts on our OpenBeagle, Discord and Beagle Forum prior to creating their application.
All newly generated materials must be released under an open source license. Individual contributors shall retain copyright on their works.
Contributors will demonstrate their ability to cross-compile and utilize version control software by creating a “Hello World” application and generating a pull request to jadonk/gsoc-application. For assistance, please visit our Discord or utilize the Beagle Forum. The “Hello World” application must print your name and the date out in an ARM Linux environment. Freely available emulators may be used to test your application or you can ask anyone on the chat or mailing list to help you test.
All projects will produce reusable software components and will not be “what-I-built-over-my-summer-vacation” projects. Including a hardware component is welcome, but the project deliverable will be software that may be utilized by a wide audience of the BeagleBoard.org community.
Contributors will demonstrate their ability to collaborate by creating a project proposal on this site using our proposal template and utilizing our Discord to collect quotes regarding the usefulness of their proposal to the BeagleBoard.org community. Use of Google Docs for proposal development is discouraged due to insufficient revision control and extensive use of computing resources having numerous documents open simultaneously.
Source code generated during the project must be released on OpenBeagle (and we’ll setup a mirror on Github.com).
Contributors will provide two recorded audio/video presentations uploaded to Youtube or Vimeo (screencasts are appropriate), one near the beginning of the project summarizing their project goals and another in the wrap-up phase to summarize their accomplishments. Examples can be found in Past Projects. There is no requirement to show your faces or use English.
Important
To help you to break your project down into manageable chunks and also to help the project’s mentors to better support your efforts, weekly project status reports should be e-mailed to the the Beagle Forum. Each status report should be posted by every Monday and must include these outlines:
Accomplishments
Resolutions to blockers
On-going blockers
Plans for this week
For example, Weekly Progress Report Thread: Cape Compatibility
Contributor proposals can encompass projects based on the ideas page or can include personal project ideas, but should be focused on generating a sustainable and reusable open source software component. Previous Google Summer of Code projects show that the key to success is being passionate about your project, so propose something that is extremely interesting to you, even if it is not on this list. We will be glad to help contributors develop ideas into projects via our Discord and Forum. There are many potential project ideas and we will match contributors to projects based on their interests and help scope the proposals to something that can be completed in the Summer of Code timeframe.
Tip
There are more than a thousand existing projects listed at Projects Archive. If you are interested in any of the projects listed on the BeagleBoard.org projects page, contact the project members to see if there are any aspects of their projects that can be enhanced to create a GSoC project. There are also several ideas on the ECE497 class project idea list. Note, however, we are looking for projects that provide a service to the developer community and aren’t simply “look what cool thing I made or you can make”. The projects should provide a useful software component for other people to utilize.