This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
gsoc:google-code-in-2019 [2019/10/26 17:03] till |
gsoc:google-code-in-2019 [2019/11/06 18:23] (current) till |
||
---|---|---|---|
Line 8: | Line 8: | ||
=====Dates===== | =====Dates===== | ||
- | * //October 29, 2019// - The participating mentoring organizations will get announced by Google | + | * //October 29, 2019// - The Linux Foundation did not get accepted as mentoring organization |
* //December 2, 2019// - Contest opens for entries by the students | * //December 2, 2019// - Contest opens for entries by the students | ||
* //January 21, 2020// - Last day to take a task | * //January 21, 2020// - Last day to take a task | ||
Line 18: | Line 18: | ||
=====Linux Foundation GCI Project groups===== | =====Linux Foundation GCI Project groups===== | ||
- | The Linux Foundation sponsors development in different areas. Each area has a set of Google-Code-In tasks available for this year and you should contact the individual group where you want to work in for further questions about the tasks, mentors, community interaction, ... | + | The Linux Foundation supports development in different areas. Each area will have a set of Google-Code-In tasks available for this year and you should contact the individual group where you want to work in for further questions about the tasks, mentors, community interaction, ... |
**Important:** We protect the e-mail addresses of our mentors and mailing lists against spam bots. Please replace all occurrences of " at " and " dot " by "@" and "." resp. | **Important:** We protect the e-mail addresses of our mentors and mailing lists against spam bots. Please replace all occurrences of " at " and " dot " by "@" and "." resp. | ||
Line 35: | Line 35: | ||
====OpenPrinting==== | ====OpenPrinting==== | ||
+ | |||
+ | **Making Printing Just Work** | ||
+ | |||
+ | OpenPrinting works on the development of printing technology for Linux and Unix-style operating systems. We collaborate with IEEE-ISTO Printer Working Group([[http://www.pwg.org/|PWG]]), especially for Internet Printing Protocol(IPP) projects. | ||
Web site: http://www.openprinting.org/ | Web site: http://www.openprinting.org/ | ||
Line 48: | Line 52: | ||
====Automotive Grade Linux==== | ====Automotive Grade Linux==== | ||
- | What is Automotive Grade Linux? | + | **What is Automotive Grade Linux?** |
Automotive Grade Linux is a collaborative open source project that is bringing together automakers, suppliers and technology companies to accelerate the development and adoption of a fully open software stack for the connected car. With Linux at its core, AGL is developing an open platform from the ground up that can serve as the de facto industry standard to enable rapid development of new features and technologies. | Automotive Grade Linux is a collaborative open source project that is bringing together automakers, suppliers and technology companies to accelerate the development and adoption of a fully open software stack for the connected car. With Linux at its core, AGL is developing an open platform from the ground up that can serve as the de facto industry standard to enable rapid development of new features and technologies. | ||
Line 77: | Line 81: | ||
====Sound Open Firmware==== | ====Sound Open Firmware==== | ||
+ | |||
+ | Sound Open Firmware is an open source audio DSP firmware and SDK intended to provide a generic audio firmware infrastructure and development tools to the community. The firmware is BSD licensed and is platform and architecture independent. | ||
+ | |||
+ | (from [[https://www.alsa-project.org/wiki/Firmware|Alsa Project]]) | ||
+ | |||
+ | Web site: https://www.sofproject.org | ||
+ | |||
+ | GitHub: https://github.com/thesofproject | ||
+ | |||
+ | Mail: sound-open-firmware at alsa-project dot org | ||
====Enabling Linux in Safety Applications (ELISA)==== | ====Enabling Linux in Safety Applications (ELISA)==== | ||
Line 90: | Line 104: | ||
====SPDX==== | ====SPDX==== | ||
- | |||
**SPDX Introduction**\\ The Software Package Data Exchange® (SPDX®) specification is a standard format for communicating the licenses and copyrights for components of a software package. The vision of SPDX is to achieve software license compliance with minimal cost across the software supply chain with a primary focus on compliance with open source licenses. \\ \\ The SPDX Technical Team members develop open source tools to create, convert and validate SPDX documents. \\ \\ **SPDX Community**\\ Website - www.spdx.org\\ Wiki – http://wiki.spdx.org \\ GitHub \\ https://github.com/goneall/SPDX-Tools \\ https://github.com/spdx-tools/fossology-spdx \\ Mailing Lists \\ http://lists.spdx.org/mailman/listinfo\\ http://lists.spdx.org/mailman/listinfo/spdx-tech \\ IRC channel - #spdx on freenode\\ Code Licenses: Apache 2.0, BSD 2-Clause | **SPDX Introduction**\\ The Software Package Data Exchange® (SPDX®) specification is a standard format for communicating the licenses and copyrights for components of a software package. The vision of SPDX is to achieve software license compliance with minimal cost across the software supply chain with a primary focus on compliance with open source licenses. \\ \\ The SPDX Technical Team members develop open source tools to create, convert and validate SPDX documents. \\ \\ **SPDX Community**\\ Website - www.spdx.org\\ Wiki – http://wiki.spdx.org \\ GitHub \\ https://github.com/goneall/SPDX-Tools \\ https://github.com/spdx-tools/fossology-spdx \\ Mailing Lists \\ http://lists.spdx.org/mailman/listinfo\\ http://lists.spdx.org/mailman/listinfo/spdx-tech \\ IRC channel - #spdx on freenode\\ Code Licenses: Apache 2.0, BSD 2-Clause | ||
Line 96: | Line 109: | ||
====CHAOSS==== | ====CHAOSS==== | ||
+ | **Community Health Analytics Open Source Software** | ||
+ | |||
+ | Web site: https://chaoss.community/ | ||
+ | |||
+ | GitHub: https://github.com/chaoss | ||
+ | |||
+ | Mailing list: https://lists.linuxfoundation.org/mailman/listinfo/chaoss | ||
+ | |||
+ | Mentor: (more to come): Matt Germonprez (germonprez at gmail dot com) | ||
=====Organization Administrators===== | =====Organization Administrators===== | ||
Line 111: | Line 133: | ||
//Beginner Task// | //Beginner Task// | ||
- | Categories: Code, Documentation/Training | + | Categories: Coding, Documentation/Training |
This task is to learn about the printing environment and to get familiar with the code. | This task is to learn about the printing environment and to get familiar with the code. | ||
Line 123: | Line 145: | ||
===2. Graceful/Consistent handling of zero-page jobs=== | ===2. Graceful/Consistent handling of zero-page jobs=== | ||
- | Categories: Code | + | Categories: Coding |
[[https://github.com/OpenPrinting/cups-filters/issues/117|cups-filters Issue #117]] | [[https://github.com/OpenPrinting/cups-filters/issues/117|cups-filters Issue #117]] | ||
Line 139: | Line 161: | ||
===3. NewBrowsePollQueuesShared option for cups-browsed=== | ===3. NewBrowsePollQueuesShared option for cups-browsed=== | ||
- | Categories: Code | + | Categories: Coding |
[[https://github.com/OpenPrinting/cups-filters/issues/101|cups-filters Issue #101]] | [[https://github.com/OpenPrinting/cups-filters/issues/101|cups-filters Issue #101]] | ||
Line 153: | Line 175: | ||
===4. Printer Application for Ghostscript's built-in printer drivers=== | ===4. Printer Application for Ghostscript's built-in printer drivers=== | ||
- | Categories: Code | + | Categories: Coding |
Based on and including Ghostscript, foomatic-db (all PPDs for Ghostscript-built-in drivers), and the [[https://github.com/dheeraj135/Printer-Applications-Framework|Printer Application framework]]. | Based on and including Ghostscript, foomatic-db (all PPDs for Ghostscript-built-in drivers), and the [[https://github.com/dheeraj135/Printer-Applications-Framework|Printer Application framework]]. | ||
Line 161: | Line 183: | ||
===5. Documenting format specification of 'application/vnd.cups-pdf-banner' and features of 'bannertopdf'=== | ===5. Documenting format specification of 'application/vnd.cups-pdf-banner' and features of 'bannertopdf'=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
[[https://github.com/OpenPrinting/cups-filters/issues/77|cups-filters Issue #77]] | [[https://github.com/OpenPrinting/cups-filters/issues/77|cups-filters Issue #77]] | ||
Line 179: | Line 201: | ||
===6. Documentation for the bannertopdf filter=== | ===6. Documentation for the bannertopdf filter=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student's task is to create a documentation/help page for the "bannertopdf" filter. | The student's task is to create a documentation/help page for the "bannertopdf" filter. | ||
Line 188: | Line 210: | ||
===7. Documentation for the pdftopdf filter=== | ===7. Documentation for the pdftopdf filter=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student's task is to create a documentation/help page for the "pdftopdf" filter. | The student's task is to create a documentation/help page for the "pdftopdf" filter. | ||
Line 197: | Line 219: | ||
===8. Documentation for the rastertopdf/rastertopclm filter=== | ===8. Documentation for the rastertopdf/rastertopclm filter=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student's task is to create a documentation/help page for the "rastertopdf" filter which is also called as "rastertopclm" to generate PCLm output. In its PDF incarnation the filter allows accepting print jobs in raster format by CUPS using this filter to turn the incoming job into PDF. The PCLm output is used to make it possible to print on printers accepting PCLm as input format. Unfortunately, there is no complete documentation for the filter, telling how it is used and with which command line options it can be controlled. The student needs to write this missing documentation. | The student's task is to create a documentation/help page for the "rastertopdf" filter which is also called as "rastertopclm" to generate PCLm output. In its PDF incarnation the filter allows accepting print jobs in raster format by CUPS using this filter to turn the incoming job into PDF. The PCLm output is used to make it possible to print on printers accepting PCLm as input format. Unfortunately, there is no complete documentation for the filter, telling how it is used and with which command line options it can be controlled. The student needs to write this missing documentation. | ||
Line 205: | Line 227: | ||
===9. Documentation for the pdftops filter=== | ===9. Documentation for the pdftops filter=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student's task is to create a documentation/help page for the "pdftops" filter. The purpose of this filter is support for PostScript printers. It turns PDF to PostScript using the printer's PPD (PostScript Printer Description) file and command line options. Unfortunately, there is no complete documentation for the filter, telling how it is used and with which command line options it can be controlled. The student needs to write this missing documentation. | The student's task is to create a documentation/help page for the "pdftops" filter. The purpose of this filter is support for PostScript printers. It turns PDF to PostScript using the printer's PPD (PostScript Printer Description) file and command line options. Unfortunately, there is no complete documentation for the filter, telling how it is used and with which command line options it can be controlled. The student needs to write this missing documentation. | ||
Line 213: | Line 235: | ||
===10. Test and compare the filters to convert PDF to Raster=== | ===10. Test and compare the filters to convert PDF to Raster=== | ||
- | Categories: Testing | + | Categories: Outreach/Research, Quality Assurance |
There are three filters supposed to fulfill the same task, converting PDF into CUPS Raster or PWG Raster, but they use different external utilities to render PDF. These filters are: | There are three filters supposed to fulfill the same task, converting PDF into CUPS Raster or PWG Raster, but they use different external utilities to render PDF. These filters are: | ||
Line 239: | Line 261: | ||
===12. About Brief History typo and omissions=== | ===12. About Brief History typo and omissions=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
[[https://github.com/OpenPrinting/openprinting.github.io/issues/64|OpenPrinting Web site issue #64]] | [[https://github.com/OpenPrinting/openprinting.github.io/issues/64|OpenPrinting Web site issue #64]] | ||
Line 249: | Line 271: | ||
===13. Link to Driverless Printing page is not easy to find on OpenPrinting home page=== | ===13. Link to Driverless Printing page is not easy to find on OpenPrinting home page=== | ||
- | Categories: Documentation/Coding | + | Categories: Coding, Documentation/Training |
[[https://github.com/OpenPrinting/openprinting.github.io/issues/63|OpenPrinting Web site issue #63]] | [[https://github.com/OpenPrinting/openprinting.github.io/issues/63|OpenPrinting Web site issue #63]] | ||
Line 281: | Line 303: | ||
===16. Write test cases for driverless printing=== | ===16. Write test cases for driverless printing=== | ||
- | Categories: Testing | + | Categories: Quality Assurance |
Write test cases for driverless printing. The test cases should be exhaustive enough so that they can be used by any printer manufacturer who plans to launch a driverless printer in the market. The printer manufacturer can use those test cases as a sort of checklist to test if their printer is working properly in the Linux environment. | Write test cases for driverless printing. The test cases should be exhaustive enough so that they can be used by any printer manufacturer who plans to launch a driverless printer in the market. The printer manufacturer can use those test cases as a sort of checklist to test if their printer is working properly in the Linux environment. | ||
Line 291: | Line 313: | ||
===17. Developer guide for Printer Applications=== | ===17. Developer guide for Printer Applications=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student's task is to write a guide on how Printer Applications work and why they are used. | The student's task is to write a guide on how Printer Applications work and why they are used. | ||
Line 299: | Line 321: | ||
===18. Test and create documentation on how to use the ippserver utility=== | ===18. Test and create documentation on how to use the ippserver utility=== | ||
- | Categories: Testing/Documentation | + | Categories: Documentation/Training |
The student needs to document on how to use the ippserver utility as a printer simulator. This is very important for contributors in the printing space since not everyone has a printer and a simulator is very important to work. | The student needs to document on how to use the ippserver utility as a printer simulator. This is very important for contributors in the printing space since not everyone has a printer and a simulator is very important to work. | ||
Line 307: | Line 329: | ||
===19. Create documentation on how to use the ippeveprinter utility=== | ===19. Create documentation on how to use the ippeveprinter utility=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student needs to document on how to use the ippeveprinter utility as a printer simulator or as base for a Printer Application. This is needed by client software developers to have a printer simulation and for printer driver developers who want to provide their drivers as a Printer Application (program which emulates an IPP printer and passes jobs on to physical, non-IPP printer). | The student needs to document on how to use the ippeveprinter utility as a printer simulator or as base for a Printer Application. This is needed by client software developers to have a printer simulation and for printer driver developers who want to provide their drivers as a Printer Application (program which emulates an IPP printer and passes jobs on to physical, non-IPP printer). | ||
Line 315: | Line 337: | ||
===20. Create documentation on how to use the IPP tools of PWG's ippsample suite=== | ===20. Create documentation on how to use the IPP tools of PWG's ippsample suite=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
The student needs to document on how to use the utilities of the [[http://www.pwg.org//|PWG's]] [[https://istopwg.github.io/ippsample/|ippsample suite]] for development and debugging tasks when working with IPP printing. | The student needs to document on how to use the utilities of the [[http://www.pwg.org//|PWG's]] [[https://istopwg.github.io/ippsample/|ippsample suite]] for development and debugging tasks when working with IPP printing. | ||
Line 323: | Line 345: | ||
===21. Shell scripts to capture print files automatically=== | ===21. Shell scripts to capture print files automatically=== | ||
- | Categories: Coding | + | Categories: Coding, Quality Assurance |
When it comes to debugging while something in printing fails, a file containing the print job (what the client application sends to CUPS and also what CUPS sends to the printer) is one of the most important tools for a developer to have a first look into what has failed. | When it comes to debugging while something in printing fails, a file containing the print job (what the client application sends to CUPS and also what CUPS sends to the printer) is one of the most important tools for a developer to have a first look into what has failed. | ||
Line 331: | Line 353: | ||
Deliverable: The script | Deliverable: The script | ||
- | ===22. Create a slider for the Open Printing Website homepage=== | + | ===22. Design a slider for the Open Printing Website homepage=== |
- | Categories: Coding | + | Categories: Design, Coding |
- | Currently the Open Printing home page has a fixed banner. That needs to be converted into a dynamic slider. The student's task here is to create a slider for the Open Printing Website homepage. | + | Currently the Open Printing home page has a fixed banner. That needs to be converted into a dynamic slider. The student's task here is to design a slider for the Open Printing Website homepage. |
Deliverable: A pull request with the appropriate code to the [[https://github.com/OpenPrinting/openprinting.github.io|GitHub of the OpenPrinting web site]]. | Deliverable: A pull request with the appropriate code to the [[https://github.com/OpenPrinting/openprinting.github.io|GitHub of the OpenPrinting web site]]. | ||
Line 341: | Line 363: | ||
===23. Create developer documentation on how to use the scp-dbus-service of system-config-printer for the functionality of discovering printers and creating print queues=== | ===23. Create developer documentation on how to use the scp-dbus-service of system-config-printer for the functionality of discovering printers and creating print queues=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
in the printer setup tool project [[https://github.com/OpenPrinting/system-config-printer|system-config-printer]] the part which makes the decisions about which of CUPS' results on printer discovery come from the same physical printer and which driver to use with a given printer (the AI so to say) are done in a module separate from the GUI, so that these parts can be also used by other printer setup tools. This part is implemented as a D-Bus service names scp-dbus-service. | in the printer setup tool project [[https://github.com/OpenPrinting/system-config-printer|system-config-printer]] the part which makes the decisions about which of CUPS' results on printer discovery come from the same physical printer and which driver to use with a given printer (the AI so to say) are done in a module separate from the GUI, so that these parts can be also used by other printer setup tools. This part is implemented as a D-Bus service names scp-dbus-service. | ||
Line 351: | Line 373: | ||
===24. Create developer documentation on how to use the Common Print Dialog Backends for a print dialog=== | ===24. Create developer documentation on how to use the Common Print Dialog Backends for a print dialog=== | ||
- | Categories: Documentation | + | Categories: Documentation/Training |
To separate the development of GUIs and of the interaction with the different print technologies (CUPS, Google Could Print, Print to File, ...) we have introduced the [[https://github.com/OpenPrinting/cpdb-libs|Common Print Dialog Backends]] (CPDB) framework. This way print dialog GUIs can be developed independent of actual print technology and stay usable even if the print technology changes. There are backends doing the communication with the print technologies and as they are developed independent of dialog GUI, they can get quickly changed in case something on the print technology changes or a backend added for a new technology appearing. Providers of network print services can even provide the backend for their service as a sandboxed package, like Snap. | To separate the development of GUIs and of the interaction with the different print technologies (CUPS, Google Could Print, Print to File, ...) we have introduced the [[https://github.com/OpenPrinting/cpdb-libs|Common Print Dialog Backends]] (CPDB) framework. This way print dialog GUIs can be developed independent of actual print technology and stay usable even if the print technology changes. There are backends doing the communication with the print technologies and as they are developed independent of dialog GUI, they can get quickly changed in case something on the print technology changes or a backend added for a new technology appearing. Providers of network print services can even provide the backend for their service as a sandboxed package, like Snap. | ||
Line 370: | Line 392: | ||
Deliverable: A pull request with the fix for this bug. | Deliverable: A pull request with the fix for this bug. | ||
+ | |||
+ | |||
+ | ===26. Create tutorials/quick-start guides for printing under Linux=== | ||
+ | |||
+ | //Intermediate Task// | ||
+ | |||
+ | Categories: Documentation/Training, Research/Outreach | ||
+ | |||
+ | Create tutorials or quick-start guides that will help people setup and configure CUPS and CUPS server in Linux for printing. You may write blog posts, or modify the documentation to include your tutorials or quick-start guides. | ||
+ | |||
+ | Deliverable: Link to a blog post or a Pull Request adding your guide, tutorials, etc. to the documentation. | ||
====Linux Standards Base (LSB)==== | ====Linux Standards Base (LSB)==== | ||
Line 375: | Line 408: | ||
===1. Description of Linux kernel subsystems=== | ===1. Description of Linux kernel subsystems=== | ||
- | Categories: Documentation, Code | + | Categories: Documentation/Training, Coding |
Each Linux kernel subsystem provides an API for communication with the other parts of the kernel. The descriptions is available in different sources: books, like [[https://lwn.net/Kernel/LDD3/|Linux Device Drivers]], [[https://www.oreilly.com/library/view/essential-linux-device/9780132396554/|Essential Linux Device Drivers]], [[https://www.kernel.org/doc/html/latest/|kernel documentation]], and [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/|source code]]. | Each Linux kernel subsystem provides an API for communication with the other parts of the kernel. The descriptions is available in different sources: books, like [[https://lwn.net/Kernel/LDD3/|Linux Device Drivers]], [[https://www.oreilly.com/library/view/essential-linux-device/9780132396554/|Essential Linux Device Drivers]], [[https://www.kernel.org/doc/html/latest/|kernel documentation]], and [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/|source code]]. | ||
Line 389: | Line 422: | ||
===1. Sound Open Firmware cleanup documentation === | ===1. Sound Open Firmware cleanup documentation === | ||
- | Categories: Documentation | + | //Beginner Task// |
+ | |||
+ | Categories: Documentation/Training | ||
Look for spelling mistakes, typos, formatting issues inside the SOF project [[https://thesofproject.github.io/latest/index.html|Documentation]]. | Look for spelling mistakes, typos, formatting issues inside the SOF project [[https://thesofproject.github.io/latest/index.html|Documentation]]. | ||
Line 395: | Line 430: | ||
===2. Sound Open Firmware good first contribution === | ===2. Sound Open Firmware good first contribution === | ||
- | Categories: Coding | + | //Beginner Task// |
- | [[https://github.com/thesofproject/sof/labels/good%20first%20issue|Good First Issue]] on GitHub. | + | |
+ | Categories: Coding, Documentation/Training | ||
+ | |||
+ | Post a [[https://github.com/thesofproject/sof/labels/good%20first%20issue|Good First Issue]] on GitHub. Can be a bug report or a feature request. | ||
===3. Fix checkpatch.pl issues === | ===3. Fix checkpatch.pl issues === | ||
- | checkpatch.pl is a static analysis tools that can report coding style problems. | + | Categories: Quality Assurance, Coding |
- | Categories: Coding | + | [[https://gist.github.com/8154928|checkpatch.pl]] is a static analysis tool that can report coding style problems. Apply it on the Sound Open Firmware source code. |
===4. Fix coccinelle issues === | ===4. Fix coccinelle issues === | ||
- | Categories: Coding | + | Categories: Quality Assurance, Coding |
- | Coccinelle is a static analysis tool that starting from common bugs patterns can find pieces of code | + | [[https://www.kernel.org/doc/html/v4.15/dev-tools/coccinelle.html|Coccinelle]] is a static analysis tool that starting from common bug patterns can find pieces of code which follow a previous bug/error pattern. Apply it on the Sound Open Firmware source code. |
- | which follow a previous bug / error pattern. | + | |
====CHAOSS: Grimoire Lab==== | ====CHAOSS: Grimoire Lab==== | ||
Line 466: | Line 503: | ||
//Beginner Task// | //Beginner Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is to learn how to use Git and GitHub | This task is to learn how to use Git and GitHub | ||
Line 479: | Line 516: | ||
//Beginner Task// | //Beginner Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is for learning Git and GitHub workflows | This task is for learning Git and GitHub workflows | ||
Line 496: | Line 533: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
Pythonic is the way of writing Python code using idioms. The Pythonic code is easier to understand and more compact wrt the standard code. This task is about replacing any statement under the GrimoireLab repositories with their equivalent Pythonic versions. For instance, possible statements to change could be (i) if-then-else or (ii) for loops. | Pythonic is the way of writing Python code using idioms. The Pythonic code is easier to understand and more compact wrt the standard code. This task is about replacing any statement under the GrimoireLab repositories with their equivalent Pythonic versions. For instance, possible statements to change could be (i) if-then-else or (ii) for loops. | ||
Line 590: | Line 627: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a Python script to execute the Git backend of Perceval via its Python interface. A good reference to achieve this task is available at: https://chaoss.github.io/grimoirelab-tutorial/perceval/git.html | This task is about creating a Python script to execute the Git backend of Perceval via its Python interface. A good reference to achieve this task is available at: https://chaoss.github.io/grimoirelab-tutorial/perceval/git.html | ||
Line 603: | Line 640: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a Python script to execute the CoCom backend of Graal via its Python interface. A good reference to achieve this task is available at: https://chaoss.github.io/grimoirelab-tutorial/graal/cocom.html | This task is about creating a Python script to execute the CoCom backend of Graal via its Python interface. A good reference to achieve this task is available at: https://chaoss.github.io/grimoirelab-tutorial/graal/cocom.html | ||
Line 616: | Line 653: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a simple Python script to execute flake8 over all commits of https://github.com/chaoss/grimoirelab-toolkit . Flake8 is a tool for style guide enforcement (http://flake8.pycqa.org/en/latest/). After this task, you will know how to call some Git commands (git clone and checkout) and flake8 from Python. To help you in this task, a script that runs flake8 over a single commit is available at: https://gist.github.com/valeriocos/0c8f1a0f0dbe5dc5aa197e4c8896fdd9. You can make a copy of it and modify it to achieve the task. | This task is about creating a simple Python script to execute flake8 over all commits of https://github.com/chaoss/grimoirelab-toolkit . Flake8 is a tool for style guide enforcement (http://flake8.pycqa.org/en/latest/). After this task, you will know how to call some Git commands (git clone and checkout) and flake8 from Python. To help you in this task, a script that runs flake8 over a single commit is available at: https://gist.github.com/valeriocos/0c8f1a0f0dbe5dc5aa197e4c8896fdd9. You can make a copy of it and modify it to achieve the task. | ||
Line 628: | Line 665: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a simple Python script to execute cloc over all commits of https://github.com/chaoss/grimoirelab-toolkit . Cloc is a tool that counts the lines of code, comments and other information of your source code (http://cloc.sourceforge.net/) | This task is about creating a simple Python script to execute cloc over all commits of https://github.com/chaoss/grimoirelab-toolkit . Cloc is a tool that counts the lines of code, comments and other information of your source code (http://cloc.sourceforge.net/) | ||
Line 642: | Line 679: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a simple Python script to fetch the repository information of any GitHub repository. After this task, you will know how to collect data from the GitHub API using the endpoint https://developer.github.com/v3/repos/#get. To help you in this task, you can inspect the Client of the Perceval GitHub backend (https://github.com/chaoss/grimoirelab-perceval/blob/master/perceval/backends/core/github.py#L704) and copy the code in your script. The script must you the library request. | This task is about creating a simple Python script to fetch the repository information of any GitHub repository. After this task, you will know how to collect data from the GitHub API using the endpoint https://developer.github.com/v3/repos/#get. To help you in this task, you can inspect the Client of the Perceval GitHub backend (https://github.com/chaoss/grimoirelab-perceval/blob/master/perceval/backends/core/github.py#L704) and copy the code in your script. The script must you the library request. | ||
Line 654: | Line 691: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
This task is about creating a simple Python script to fetch the user information of any GitHub user. After this task, you will know how to collect data from the GitHub API using the endpoint https://developer.github.com/v3/users/#get-a-single-user. To help you in this task, you can inspect the Client of the Perceval GitHub backend (https://github.com/chaoss/grimoirelab-perceval/blob/master/perceval/backends/core/github.py#L766) and copy the code in your script. The script must you the library request. | This task is about creating a simple Python script to fetch the user information of any GitHub user. After this task, you will know how to collect data from the GitHub API using the endpoint https://developer.github.com/v3/users/#get-a-single-user. To help you in this task, you can inspect the Client of the Perceval GitHub backend (https://github.com/chaoss/grimoirelab-perceval/blob/master/perceval/backends/core/github.py#L766) and copy the code in your script. The script must you the library request. | ||
Line 671: | Line 708: | ||
//Beginner Task// | //Beginner Task// | ||
- | Categories: Code, Documentation/Training | + | Categories: Coding, Documentation/Training |
Setup Augur locally on your PC. To set it up locally follow the following instructions: https://oss-augur.readthedocs.io/en/master/getting-started/installation.html | Setup Augur locally on your PC. To set it up locally follow the following instructions: https://oss-augur.readthedocs.io/en/master/getting-started/installation.html | ||
Line 684: | Line 721: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
In this task implement one or more of the unimplemented CHAOSS metrics specified by the various working groups (Evolution, Risk, Value) in Augur. | In this task implement one or more of the unimplemented CHAOSS metrics specified by the various working groups (Evolution, Risk, Value) in Augur. | ||
Line 703: | Line 740: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code | + | Categories: Coding |
A majority of the metric implementations in Augur specify a default begin & end date. Currently each metric implementation sets these default values in a hard coded way. Your task is to create two variables in `augur.util`: | A majority of the metric implementations in Augur specify a default begin & end date. Currently each metric implementation sets these default values in a hard coded way. Your task is to create two variables in `augur.util`: | ||
Line 722: | Line 759: | ||
//Advanced Task// | //Advanced Task// | ||
- | Categories: Code, Design | + | Categories: Coding, Design |
In this task build one or more metric visualizations in the frontend. To add a metric visualization in the frontend checkout the following documentation https://oss-augur.readthedocs.io/en/master/architecture/frontend.html | In this task build one or more metric visualizations in the frontend. To add a metric visualization in the frontend checkout the following documentation https://oss-augur.readthedocs.io/en/master/architecture/frontend.html | ||
Line 744: | Line 781: | ||
//Intermediate Task// | //Intermediate Task// | ||
- | Categories: Documentation/Training, Research/Outreach | + | Categories: Documentation/Training, Outreach/Research |
Create tutorials or quickstart guides that will help people setup Augur easily, implement metrics, collect data for their repositories, etc. You may write blog posts, or modify the documentation to include your tutorials or quickstart guides. | Create tutorials or quickstart guides that will help people setup Augur easily, implement metrics, collect data for their repositories, etc. You may write blog posts, or modify the documentation to include your tutorials or quickstart guides. |