diff --git a/_static/images/explore-ideas.webp b/_static/images/explore-ideas.webp index c39a02c2a2e4d207fa9475c3ca939fc8144f9012..f44bbb7adeb6834eec698d9d451fcd121e8376cc 100644 Binary files a/_static/images/explore-ideas.webp and b/_static/images/explore-ideas.webp differ diff --git a/_static/images/ideas-below.webp b/_static/images/ideas-below.webp new file mode 100644 index 0000000000000000000000000000000000000000..018883e7256ff64d0e6a5a1d0f080cdca20987a8 Binary files /dev/null and b/_static/images/ideas-below.webp differ diff --git a/conf.py b/conf.py index 672a80f88b6f164be317786c875087a609e7ef0c..6c5bccfa2cd2945f7924e9f0d781c9e15ea51179 100644 --- a/conf.py +++ b/conf.py @@ -26,6 +26,7 @@ author = 'BeagleBoard.org' extensions = [ "sphinx_design", "sphinxcontrib.youtube", + "sphinx_copybutton" ] templates_path = ['_templates'] @@ -61,7 +62,8 @@ html_sidebars = { html_theme_options = { "header_links_before_dropdown": 4, - "icon_links": [ + "show_prev_next": False, + "icon_links": [ { "name": "OpenBeagle", "url": "https://openbeagle.org/", diff --git a/contrib/index.rst b/guides/contrib.rst similarity index 94% rename from contrib/index.rst rename to guides/contrib.rst index 81ede1c14cfed42ab80987364c1845aecf1edc48..6e7544ab12861cf5923359b20b5c3480ebd84205 100644 --- a/contrib/index.rst +++ b/guides/contrib.rst @@ -1,7 +1,7 @@ .. _gsoc_contribution_guide: -Contribution -############# +Contribution guide +################### `GSoC <https://gsoc.beagleboard.io/>`_ site uses `OpenBeagle Continous Integration (CI) / Continous Development (CD) <https://docs.gitlab.com/ee/ci/>`_ which is a continuous method of software development, where @@ -11,6 +11,19 @@ simple steps provided below. .. note:: `OpenBeagle <https://openbeagle.org/>`_ is a self hosted instance of open source program called `GitLab <https://about.gitlab.com/>`_. +.. tip:: If you want to build on your local machine we have added ``venv-build-env.sh`` and ``requirements.txt`` + to help you setup sphinx and all the other dependencies. Execute these commands in your terminal, + + .. code:: shell + + chmod +x venv-build-env.sh + + .. code:: shell + + make livehtml + + Now, you can open `http://127.0.0.1:8000 <http://127.0.0.1:8000>`_ on any browser to see the rendered HTML with live updates. + Fork the project ***************** diff --git a/guides/index.rst b/guides/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..792c5c2b752c254cdd03834f005544bf90735c06 --- /dev/null +++ b/guides/index.rst @@ -0,0 +1,53 @@ +.. _gsoc-guides: + +Guides +###### + +This section includes guides for :ref:`students <student-guide>` & :ref:`mentors <mentor-guide>` who want to participate +in GSoC 2024 with `BeagleaBoard.org <www.beagleboard/org>`_. It's highly recommended to check `GSoC Frequently Asked Questions +<https://developers.google.com/open-source/gsoc/faq>`_. For anyone who just want to contribute to this site we also have +a step by step :ref:`contribution guide <gsoc_contribution_guide>`. + +.. card:: + :link: student-guide + :link-type: ref + + **GSoC Contributor/Student Guide** + ^^^^ + + If you want to increase your chances of being accepted into (and succeed during) Google Summer of Code we strongly + encourage you to read this guide! It is particularly helpful for tips on writing a good project proposal and how + potential contributors should interact with the communities they are interested in working with during the program. + +.. card:: + :link: mentor-guide + :link-type: ref + + **Mentor Guide** + ^^^^ + +.. card:: + :link: mentor-guide + :link-type: ref + + **Proposal Guide** + ^^^^ + +.. card:: + :link: mentor-guide + :link-type: ref + + **Contribution Guide** + ^^^^ + + + + +.. toctree:: + :hidden: + :maxdepth: 2 + + students + mentors + proposal + contrib \ No newline at end of file diff --git a/contrib/media/commit-branch.png b/guides/media/commit-branch.png similarity index 100% rename from contrib/media/commit-branch.png rename to guides/media/commit-branch.png diff --git a/contrib/media/commit-changes.png b/guides/media/commit-changes.png similarity index 100% rename from contrib/media/commit-changes.png rename to guides/media/commit-changes.png diff --git a/contrib/media/commit-success.png b/guides/media/commit-success.png similarity index 100% rename from contrib/media/commit-success.png rename to guides/media/commit-success.png diff --git a/contrib/media/commit.png b/guides/media/commit.png similarity index 100% rename from contrib/media/commit.png rename to guides/media/commit.png diff --git a/contrib/media/create-merge-request.png b/guides/media/create-merge-request.png similarity index 100% rename from contrib/media/create-merge-request.png rename to guides/media/create-merge-request.png diff --git a/contrib/media/edit-button.png b/guides/media/edit-button.png similarity index 100% rename from contrib/media/edit-button.png rename to guides/media/edit-button.png diff --git a/contrib/media/fork-button.png b/guides/media/fork-button.png similarity index 100% rename from contrib/media/fork-button.png rename to guides/media/fork-button.png diff --git a/contrib/media/fork-project.png b/guides/media/fork-project.png similarity index 100% rename from contrib/media/fork-project.png rename to guides/media/fork-project.png diff --git a/contrib/media/ide.png b/guides/media/ide.png similarity index 100% rename from contrib/media/ide.png rename to guides/media/ide.png diff --git a/contrib/media/make-edits.png b/guides/media/make-edits.png similarity index 100% rename from contrib/media/make-edits.png rename to guides/media/make-edits.png diff --git a/contrib/media/merge-request.png b/guides/media/merge-request.png similarity index 100% rename from contrib/media/merge-request.png rename to guides/media/merge-request.png diff --git a/contrib/media/repo-file-folders.png b/guides/media/repo-file-folders.png similarity index 100% rename from contrib/media/repo-file-folders.png rename to guides/media/repo-file-folders.png diff --git a/guides/mentors.rst b/guides/mentors.rst new file mode 100644 index 0000000000000000000000000000000000000000..70e0874cfce98da94f64367294c000dcfd932386 --- /dev/null +++ b/guides/mentors.rst @@ -0,0 +1,4 @@ +.. _mentor-guide: + +Mentor guide +############ \ No newline at end of file diff --git a/guides/proposal.rst b/guides/proposal.rst new file mode 100644 index 0000000000000000000000000000000000000000..b474e7b5646eafc83354d4478f8a9ea4a9c7baca --- /dev/null +++ b/guides/proposal.rst @@ -0,0 +1,4 @@ +.. _proposal-guide: + +Proposal guide +############### \ No newline at end of file diff --git a/guides/students.rst b/guides/students.rst new file mode 100644 index 0000000000000000000000000000000000000000..e41a7ae2e420d44dcd063f7cb0bea82a54128e1a --- /dev/null +++ b/guides/students.rst @@ -0,0 +1,27 @@ +.. _student-guide: + +Student guide +############# + +General requirements +******************** + +All projects have the following basic requirements: + +1. Students must create accounts on `OpenBeagle <https://openbeagle.org/>`_, `Discord <http://bbb.io/gsocchat>`_ and `Beagle Forum <http://bbb.io/gsocml>`_ prior to creating their application. +2. All newly generated materials must be released under an `open source license <http://www.opensource.org/licenses>`_. Individual students shall retain copyright on their works. +3. Students 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 <https://github.com/jadonk/gsoc-application/tree/master/ExampleEntryJasonKridner>`_. For assistance, please visit `Discord <http://bbb.io/gsocchat>`_ or utilize the `Beagle Forum <http://bbb.io/gsocml>`_. 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. +4. 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 <http://beagleboard.org/>`_ community. +5. Students will demonstrate their ability to collaborate by creating a project proposal on this site using our :ref:`proposal template <proposal_template>` and utilizing `Discord <http://bbb.io/gsocchat>`_ to collect quotes regarding the usefulness of their proposal to the `BeagleBoard.org <http://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**. +6. Source code generated during the project must be released on OpenBeagle (and we’ll setup a mirror on `Github.com <http://github.com/>`_). +7. Students 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 on `http://beagleboard.org/gsoc <http://beagleboard.org/gsoc>`_. 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 <http://bbb.io/gsocml>`_. + Each status report should outline: + + 1. What was accomplished that week, + 2. Any issues that prevented that week’s goals from being completed and + 3. your goals for the next week. \ No newline at end of file diff --git a/ideas/index.rst b/ideas/index.rst index 66278051432ab9cd2434cae95aaf755d3eb6308d..fea7d2b4e67125145c46d57b08a6fa1e893d0350 100644 --- a/ideas/index.rst +++ b/ideas/index.rst @@ -5,29 +5,43 @@ Ideas ###### -Below are the project ideas for the `GSoC 2024 <https://developers.google.com/open-source/gsoc/timeline>`_. +Welcome to the project ideas page for `GSoC 2024 <https://developers.google.com/open-source/gsoc/timeline>`_. The BeagleBoard.org community is loaded with experts on building open source embedded systems. An embedded system is built of computers dedicated a specific collections of functions and connected to automate things in the physical world. -.. important:: - BeagleBoard.org is a community centric organization and we keep all of our discussion open for our - community on `forum <https://forum.beagleboard.org/>`_. Discussion for all the ideas/projects will - be done via `forum <https://forum.beagleboard.org/>`_ as well and must be open for everyone to access. **No - direct messages should be sent to mentors or community members until unless there is a private matter.** +.. image:: ../_static/images/ideas-below.webp + :align: center +.. admonition:: Did you know? + + BeagleBoard.org has been accepted to be a mentoring organization in the Google Summer of Code (GSoC) for twelve previous years! -.. table:: - +------------------------------------+------------------------------------+ - | Complexity | Size | - +====================================+====================================+ - | :bdg-danger:`High complexity` | :bdg-danger-line:`Large size` | - +------------------------------------+------------------------------------+ - | :bdg-success:`Medium complexity` | :bdg-success-line:`Medium size` | - +------------------------------------+------------------------------------+ - | :bdg-info:`Low complexity` | :bdg-info-line:`Small size` | - +------------------------------------+------------------------------------+ +.. admonition:: How to participate? + + Students are expeced to go through the list of ideas below, and check out the corresponding forum link by clicking on + ``Discuss on forum`` button for additional discussions around the idea. All ideas have colorful badges for ``Complexity`` and + ``Size`` for making the selection process easier for students. + + .. table:: + + +------------------------------------+------------------------------------+ + | Complexity | Size | + +====================================+====================================+ + | :bdg-danger:`High complexity` | :bdg-danger-line:`Large size` | + +------------------------------------+------------------------------------+ + | :bdg-success:`Medium complexity` | :bdg-success-line:`Medium size` | + +------------------------------------+------------------------------------+ + | :bdg-info:`Low complexity` | :bdg-info-line:`Small size` | + +------------------------------------+------------------------------------+ + +.. important:: + + BeagleBoard.org is a community centric organization and we keep all of our discussion open for our + community on `forum <https://forum.beagleboard.org/>`_. Discussion for all the ideas/projects will + be done via `forum <https://forum.beagleboard.org/>`_ as well and must be open for everyone to access. **No + direct messages should be sent to mentors or community members until unless there is a private matter.** .. admonition:: How to participate? @@ -40,6 +54,8 @@ in the physical world. :link: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156 :fas:`microchip;pst-color-primary` FPGA gateware improvements + + :bdg-success:`Medium complexity` :bdg-success-line:`Medium size` ^^^ BeagleV-Fire features RISC-V 64-bit CPU cores and FPGA fabric. In that FPGA fabric, we'd like to @@ -47,12 +63,19 @@ in the physical world. to the programmable real-time unit (PRU) RISC cores popularized on BeagleBone Black. +++ - :bdg-success:`Medium complexity` :bdg-success-line:`Medium size` + .. button-link:: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156 + :color: danger + :expand: + + :fab:`gitlab;pst-color-light` Discuss on forum + - .. grid-item-card:: Update beagle-tester for mainline regression testing + .. grid-item-card:: Update beagle-tester for mainline testing :link: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279 :fab:`linux;pst-color-primary` Linux kernel improvements + + :bdg-success:`Medium complexity` :bdg-danger-line:`Large size` ^^^ Utilize the ``beagle-tester`` application and ``Buildroot`` along with device-tree and udev symlink concepts within @@ -60,22 +83,51 @@ in the physical world. and device-tree overlays on various Beagle computers. +++ - :bdg-success:`Medium complexity` :bdg-danger-line:`Large size` + .. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279 + :color: danger + :expand: -.. tip:: - - We don't want to just make more things, we want to enable individuals to make the things that dominate their lives, - rather than leaving it up to someone else. Google Summer of a Code with BeagleBoard.org is a great way to learn - skills highly in demand while making a difference in the world. + :fab:`gitlab;pst-color-light` Discuss on forum -.. admonition:: Did you know? + .. grid-item-card:: Upstream wpanusb and bcfserial + :link: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186 - BeagleBoard.org has been accepted to be a mentoring organization in the Google Summer of Code (GSoC) for twelve previous years! + :fab:`linux;pst-color-primary` Linux kernel improvements -.. note:: - - We don't want to just make more things, we want to enabled individuals to make the things that dominate their lives, - rather than leaving it up to someone else. Google Summer of a Code with BeagleBoard.org is a great way to learn - skills highly in demand while making a difference in the world. + :bdg-success:`Medium complexity` :bdg-success-line:`Medium size` + ^^^ + + These are the drivers that are used to enable Linux to use a BeagleConnect Freedom as a SubGHz IEEE802.15.4 radio (gateway). + They need to be part of upstream Linux to simplify on-going support. There are several gaps that are known before they are + acceptable upstream. + + +++ + .. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186 + :color: danger + :expand: + + :fab:`gitlab;pst-color-light` Discuss on forum + .. grid-item-card:: librobotcontrol support for newer boards + :link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187 + :fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O + + :bdg-success:`Medium complexity` :bdg-success-line:`Medium size` + ^^^ + + Preliminary librobotcontrol support for BeagleBone AI, BeagleBone AI-64 and BeagleV-Fire has been drafted, but it + needs to be cleaned up. We can also work on support for Raspberry Pi if UCSD releases their Hat for it. + + +++ + .. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187 + :color: danger + :expand: + + :fab:`gitlab;pst-color-light` Discuss on forum + +.. tip:: + + We don't want to just make more things, we want to enable individuals to make the things that dominate their lives, + rather than leaving it up to someone else. Google Summer of a Code with BeagleBoard.org is a great way to learn + skills highly in demand while making a difference in the world. diff --git a/index.rst b/index.rst index 54d0ee345ca52b2ef639709d0988078b282c3ced..eb02dfb82439840f01126caaa2f74288764e6f22 100644 --- a/index.rst +++ b/index.rst @@ -137,6 +137,6 @@ GSoC @ BeagleBoard.org :hidden: ideas/index + guides/index proposals/index - contrib/index projects/index diff --git a/requirements.txt b/requirements.txt index 22d2b2e6190b1be8bb56716492ee00108d23590c..4e1bfed0d810e91c63794d362224d758c66486fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,3 +31,4 @@ sphinxcontrib-youtube==1.4.1 tornado==6.4 typing_extensions==4.9.0 urllib3==2.2.0 +sphinx-copybutton==0.5.2 diff --git a/venv-build-env.sh b/venv-build-env.sh old mode 100644 new mode 100755