Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| googlecodein:2012tasks [2012/10/25 04:22] – New task WojciechKoszek | googlecodein:2012tasks [2021/04/26 01:23] (current) – Use MailTo macros. JethroNederhof | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| Contact channels: | Contact channels: | ||
| * IRC: # | * IRC: # | ||
| - | * Mailing list: freebsd-hackers@ (for helping others, please put " | + | * Mailing list: [[freebsd-hackers@FreeBSD.org|freebsd-hackers@]] |
| Stuff from 2011: | Stuff from 2011: | ||
| Line 15: | Line 15: | ||
| Stuff to read: | Stuff to read: | ||
| - | * **What GCIN is for %%FreeBSD%%?? | + | * **What GCIN is for %%FreeBSD%%?? |
| * **From mentors**: [[http:// | * **From mentors**: [[http:// | ||
| Line 40: | Line 40: | ||
| technologies than just " | technologies than just " | ||
| Python or Perl etc.. skillsets are more likely to get attracted. It would | Python or Perl etc.. skillsets are more likely to get attracted. It would | ||
| - | be up to [[/SomeBody|SomeBody]] | + | be up to %%SomeBody%% (tm) to figure out what the project could be and how to |
| break it down to small tasks. This could let us " | break it down to small tasks. This could let us " | ||
| projects. | projects. | ||
| Line 80: | Line 80: | ||
| ---- | ---- | ||
| - | ===== Document /dev ===== | + | ===== Static Analysis for Kernel Locking |
| - | | Category | Code / Documentation | + | | Category | Code | |
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 20 | | | Time limit | 20 | | ||
| - | | Mentor | theraven@freebsd.org | | + | | Mentor | <theraven@freebsd.org> | |
| - | | Requirements | Documentation | + | | Requirements | Add static lock order annotations to kernel locking primitives. | |
| + | |||
| + | ==== Description of a task ==== | ||
| + | |||
| + | Clang provides a [[http:// | ||
| + | |||
| + | A follow-up task from this would be to begin translating the lock ordering annotations in comments in the kernel into machine-checkable form. A further follow-up would be to teach the static analyser to understand the output from WITNESS. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Static Analysis of Kernel Conventions ===== | ||
| + | |||
| + | | Category | Code / Documentation | | ||
| + | | Difficulty | hard | | ||
| + | | Time limit | 20 | | ||
| + | | Mentor | < | ||
| + | | Requirements | A Clang static analyser plugin checking correct usage of a kernel API. | | ||
| ==== Description of a task ==== | ==== Description of a task ==== | ||
| - | Look at the source | + | There are several conventions in the kernel that ought to be automatically checked. |
| ---- | ---- | ||
| Line 99: | Line 115: | ||
| | Difficulty | hard | | | Difficulty | hard | | ||
| | Time limit | 40 | | | Time limit | 40 | | ||
| - | | Mentor | theraven@freebsd.org rdivacky@%%FreeBSD%%.org | | + | | Mentor | <theraven@freebsd.org> <rdivacky@FreeBSD.org> | |
| | Requirements | Benchmarks comparing libc++ to libstdc++ and a list of performance troublespots for libc++ | | | Requirements | Benchmarks comparing libc++ to libstdc++ and a list of performance troublespots for libc++ | | ||
| Line 113: | Line 129: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 4-16 | | | Time limit | 4-16 | | ||
| - | | Mentor | bcr@%%FreeBSD%%.org | | + | | Mentor | <bcr@FreeBSD.org> | |
| | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains how to set up a zfs mirror in textual form with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains how to set up a zfs mirror in textual form with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | ||
| Line 136: | Line 152: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 6-20 | | | Time limit | 6-20 | | ||
| - | | Mentor | bcr@%%FreeBSD%%.org | | + | | Mentor | <bcr@FreeBSD.org> | |
| | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what deduplication is and what the benefits are with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what deduplication is and what the benefits are with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | ||
| Line 154: | Line 170: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 7-14 | | | Time limit | 7-14 | | ||
| - | | Mentor | bcr@freebsd.org eadler@freebsd.org | | + | | Mentor | <bcr@freebsd.org> <eadler@freebsd.org> | |
| | Requirements | The X11 configuration section contains a subsection on how to configure X11 without HAL (with common items to both in a subsection before them) | | | Requirements | The X11 configuration section contains a subsection on how to configure X11 without HAL (with common items to both in a subsection before them) | | ||
| Line 177: | Line 193: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 10-20 | | | Time limit | 10-20 | | ||
| - | | Mentor | rea@freebsd.org | | + | | Mentor | <rea@freebsd.org> | |
| | Requirements | a new article containing instructions what clang/llvm is and how to use it in %%FreeBSD%% | | | Requirements | a new article containing instructions what clang/llvm is and how to use it in %%FreeBSD%% | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The %%FreeBSD%% system is moving to replace the GCC (GNU Compiler Collection) with clang/llvm (C language for the low level virtual machine). The following wiki page has an initial writeup of the subject with some instructions on how to use it to compile the %%FreeBSD%% base system: | + | The %%FreeBSD%% system is moving to replace the GCC (GNU Compiler Collection) with clang/llvm (C language for the low level virtual machine). The following wiki page has an initial writeup of the subject with some instructions on how to use it to compile the %%FreeBSD%% base system: |
| The goal is to create an article which has more detailed instructions based on this wiki page with our official %%FreeBSD%% documentation markup and style applied. | The goal is to create an article which has more detailed instructions based on this wiki page with our official %%FreeBSD%% documentation markup and style applied. | ||
| Line 197: | Line 213: | ||
| | Difficulty | easy | | | Difficulty | easy | | ||
| | Time limit | 10-25 | | | Time limit | 10-25 | | ||
| - | | Mentor | | + | | Mentor |
| The objective of this task is to create a list of man pages that do not contain this string. The best way to do this is to create a script that can automatically search for that string in a set of files (man pages in this case) passed to it. Your mentor can help you with commands or advice on which programming language to use. But if you don't want to code, you can also do this task manually (or semi-manually), | The objective of this task is to create a list of man pages that do not contain this string. The best way to do this is to create a script that can automatically search for that string in a set of files (man pages in this case) passed to it. Your mentor can help you with commands or advice on which programming language to use. But if you don't want to code, you can also do this task manually (or semi-manually), | ||
| Line 214: | Line 230: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 8-22 | | | Time limit | 8-22 | | ||
| - | | Mentor | bcr@%%FreeBSD%%.org | | + | | Mentor | <bcr@FreeBSD.org> | |
| | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs compression is and what the benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about compression after this. The section has to have correctly formatted XML according to our Documentation Primer. | | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs compression is and what the benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about compression after this. The section has to have correctly formatted XML according to our Documentation Primer. | | ||
| Line 234: | Line 250: | ||
| | Difficulty | easy | | | Difficulty | easy | | ||
| | Time limit | 4-12 | | | Time limit | 4-12 | | ||
| - | | Mentor | rea@freebsd.org | | + | | Mentor | <rea@freebsd.org> | |
| | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs snapshots are and what their benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about snapshots after this. The section has to have correctly formatted XML according to our Documentation Primer. | | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs snapshots are and what their benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about snapshots after this. The section has to have correctly formatted XML according to our Documentation Primer. | | ||
| Line 255: | Line 271: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 15-25 | | | Time limit | 15-25 | | ||
| - | | Mentor | '' | + | | Mentor | '' |
| | Requirements | The %%FreeBSD%% developers handbook has a new chapter about the details of the new TTY layer, as well as man pages for category 9. | | | Requirements | The %%FreeBSD%% developers handbook has a new chapter about the details of the new TTY layer, as well as man pages for category 9. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The %%FreeBSD%% developers handbook currently has no information about %%FreeBSD%%' | + | The %%FreeBSD%% developers handbook currently has no information about %%FreeBSD%%' |
| The task is to take the relevant information from that wiki page and create a chapter in the developers handbook to describe the new TTY layer. The chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. | The task is to take the relevant information from that wiki page and create a chapter in the developers handbook to describe the new TTY layer. The chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. | ||
| Line 274: | Line 290: | ||
| | Difficulty | easy, medium, hard | | | Difficulty | easy, medium, hard | | ||
| | Time limit | 4-8 | | | Time limit | 4-8 | | ||
| - | | Mentor | '' | + | | Mentor | '' |
| | Requirements | A new section in the filesystems chapter explains the TMPFS filesystem with an example | | | Requirements | A new section in the filesystems chapter explains the TMPFS filesystem with an example | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The %%FreeBSD%% operating system supports the TMPFS filesystem, which is described on the following %%FreeBSD%% wiki page, but not in the %%FreeBSD%% handbook: | + | The %%FreeBSD%% operating system supports the TMPFS filesystem, which is described on the following %%FreeBSD%% wiki page, but not in the %%FreeBSD%% handbook: |
| The basics of TMPFS, it's pros and cons must to be explained with an example for /tmp and the procedure of activating/ | The basics of TMPFS, it's pros and cons must to be explained with an example for /tmp and the procedure of activating/ | ||
| Line 294: | Line 310: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 8-20 | | | Time limit | 8-20 | | ||
| - | | Mentor | adrian@freebsd.org, | + | | Mentor | <adrian@freebsd.org>, <freebsd-wireless@freebsd.org> | |
| | Requirements | Basic knowledge of C; An ath(4) 802.11n NIC (non-USB); I can likely help you acquire one. | | | Requirements | Basic knowledge of C; An ath(4) 802.11n NIC (non-USB); I can likely help you acquire one. | | ||
| Line 310: | Line 326: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 12-23 | | | Time limit | 12-23 | | ||
| - | | Mentor | '' | + | | Mentor | '' |
| | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of Mercurial for %%FreeBSD%% daily work as a developer. | | | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of Mercurial for %%FreeBSD%% daily work as a developer. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The Mercurial source code management system can be used to send and retrieve the %%FreeBSD%% project' | + | The Mercurial source code management system can be used to send and retrieve the %%FreeBSD%% project' |
| The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use Mercurial is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. | The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use Mercurial is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. | ||
| Line 331: | Line 347: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 12-23 | | | Time limit | 12-23 | | ||
| - | | Mentor | uqs@freebsd.org | | + | | Mentor | <uqs@freebsd.org> | |
| | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of GIT for %%FreeBSD%% daily work as a developer. | | | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of GIT for %%FreeBSD%% daily work as a developer. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The GIT source code management system has become popular among software developers over the years. It is possible to use it to to send and retrieve the %%FreeBSD%% project' | + | The GIT source code management system has become popular among software developers over the years. It is possible to use it to to send and retrieve the %%FreeBSD%% project' |
| The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use GIT is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. | The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use GIT is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. | ||
| Line 352: | Line 368: | ||
| | Difficulty | hard | | | Difficulty | hard | | ||
| | Time limit | 10-25 | | | Time limit | 10-25 | | ||
| - | | Mentor | rea@freebsd.org | | + | | Mentor | <rea@freebsd.org> | |
| | Requirements | The %%FreeBSD%% handbook will have an updated chapter on using CUPS to manage printers connected via USB or the network to a %%FreeBSD%% system. | | | Requirements | The %%FreeBSD%% handbook will have an updated chapter on using CUPS to manage printers connected via USB or the network to a %%FreeBSD%% system. | | ||
| Line 373: | Line 389: | ||
| | Difficulty | hard | | | Difficulty | hard | | ||
| | Time limit | 15-25 | | | Time limit | 15-25 | | ||
| - | | Mentor | rea@freebsd.org | | + | | Mentor | <rea@freebsd.org> | |
| | Requirements | The %%FreeBSD%% handbook will have each chapter in it's index when rendered to Postscript/ | | Requirements | The %%FreeBSD%% handbook will have each chapter in it's index when rendered to Postscript/ | ||
| Line 393: | Line 409: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 10-15 | | | Time limit | 10-15 | | ||
| - | | Mentor | ed@freebsd.org | | + | | Mentor | <ed@freebsd.org> | |
| | Requirements | A page similar to Jens Schweikhardt' | | Requirements | A page similar to Jens Schweikhardt' | ||
| Line 417: | Line 433: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 20-30 | | | Time limit | 20-30 | | ||
| - | | Mentor | ed@freebsd.org | | + | | Mentor | <ed@freebsd.org> | |
| | Requirements | A page similar to Jens Schweikhardt' | | Requirements | A page similar to Jens Schweikhardt' | ||
| Line 445: | Line 461: | ||
| | Difficulty | easy | | | Difficulty | easy | | ||
| | Time limit | 10-12 | | | Time limit | 10-12 | | ||
| - | | Mentor | gavin@%%FreeBSD%%.org | | + | | Mentor | <gavin@FreeBSD.org> | |
| | Requirements | The %%FreeBSD%% developers handbook chapter on debugging modules contains the new information from the wiki page. | | | Requirements | The %%FreeBSD%% developers handbook chapter on debugging modules contains the new information from the wiki page. | | ||
| Line 451: | Line 467: | ||
| %%FreeBSD%%' | %%FreeBSD%%' | ||
| - | However, the information contained in that section are somewhat outdated. Newer instructions are available in the following wiki page: | + | However, the information contained in that section are somewhat outdated. Newer instructions are available in the following wiki page: [[/ |
| - | http:// | + | |
| The purpose of this task is to take the information from the wiki page and update the developers handbook chapter accordingly. The final page needs to conform to %%FreeBSD%%' | The purpose of this task is to take the information from the wiki page and update the developers handbook chapter accordingly. The final page needs to conform to %%FreeBSD%%' | ||
| Line 459: | Line 474: | ||
| Students are encouraged to use a %%FreeBSD%% system like our [[/ | Students are encouraged to use a %%FreeBSD%% system like our [[/ | ||
| - | Please read http:// | + | Please read [[GoogleCodeIn/ |
| ---- | ---- | ||
| Line 468: | Line 483: | ||
| | Difficulty | easy | | | Difficulty | easy | | ||
| | Time limit | 12-17 | | | Time limit | 12-17 | | ||
| - | | Mentor | gavin@%%FreeBSD%%.org | | + | | Mentor | <gavin@FreeBSD.org> | |
| | Requirements | The %%FreeBSD%% developers handbook will have a new section describing the use of MIIBus for devices attached to the network. | | | Requirements | The %%FreeBSD%% developers handbook will have a new section describing the use of MIIBus for devices attached to the network. | | ||
| Line 474: | Line 489: | ||
| %%FreeBSD%% implements IEEE 802.3 Media Independent Interface or MIIBus for its underlying networking capabilities. %%FreeBSD%% Developers who want to know more about this interface currently find no information about it in the %%FreeBSD%% developers handbook. The purpose of this task is to remedy this by | %%FreeBSD%% implements IEEE 802.3 Media Independent Interface or MIIBus for its underlying networking capabilities. %%FreeBSD%% Developers who want to know more about this interface currently find no information about it in the %%FreeBSD%% developers handbook. The purpose of this task is to remedy this by | ||
| - | using the following wiki page as a source of information: | + | using the following wiki page as a source of information: |
| Other links to more information about MIIBus are also available at the bottom of this wiki page. The information should be used to create a new section/ | Other links to more information about MIIBus are also available at the bottom of this wiki page. The information should be used to create a new section/ | ||
| Line 481: | Line 496: | ||
| Students are encouraged to use a %%FreeBSD%% system like our [[/ | Students are encouraged to use a %%FreeBSD%% system like our [[/ | ||
| - | Please read http:// | + | Please read [[GoogleCodeIn/ |
| ---- | ---- | ||
| Line 490: | Line 505: | ||
| | Difficulty | easy | | | Difficulty | easy | | ||
| | Time limit | 5-12 | | | Time limit | 5-12 | | ||
| - | | Mentor | rea@freebsd.org | | + | | Mentor | <rea@freebsd.org> | |
| | Requirements | The FAQ contains a new entry on how to solve common USB problems like when mass storage devices are not detected. The entry needs to be formatted correctly according to our %%FreeBSD%% style and doc source code standards. | | | Requirements | The FAQ contains a new entry on how to solve common USB problems like when mass storage devices are not detected. The entry needs to be formatted correctly according to our %%FreeBSD%% style and doc source code standards. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| The %%FreeBSD%% operating system has support for many devices connected via the Universal Serial Bus (USB). However, given the vast amount of devices, there are some problems that occur frequently for which there are already solutions available on the following wiki page: | The %%FreeBSD%% operating system has support for many devices connected via the Universal Serial Bus (USB). However, given the vast amount of devices, there are some problems that occur frequently for which there are already solutions available on the following wiki page: | ||
| - | http:// | + | [[/USB]] . The %%FreeBSD%% FAQ is the right place for this, so the mini FAQ on the wiki page needs to be transformed into a %%FreeBSD%% FAQ entry. With this, we can point users directly to the FAQ when these kinds of questions come up in the mailing lists. |
| Task requires: | Task requires: | ||
| Line 530: | Line 545: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 12-20 | | | Time limit | 12-20 | | ||
| - | | Mentor | gavin@freebsd.org | | + | | Mentor | <gavin@freebsd.org> | |
| | Requirements | The %%FreeBSD%% developers handbook has a new chapter giving some hints on what is important when benchmarking the system and how to do it properly. | | | Requirements | The %%FreeBSD%% developers handbook has a new chapter giving some hints on what is important when benchmarking the system and how to do it properly. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | An important part when enhancing the %%FreeBSD%% operating systems is to know whether or not the added functionality makes the system perform faster than before. In order to do that, benchmarks are being used to collect useful information to make educated comparisons. However, when done wrong, these benchmarks will either not make any sense, provide the wrong data or results in false conclusions drawn by the developer doing the benchmark. To avoid that, a wiki page listing some of the pitfalls when benchmarking is available here: http:// | + | An important part when enhancing the %%FreeBSD%% operating systems is to know whether or not the added functionality makes the system perform faster than before. In order to do that, benchmarks are being used to collect useful information to make educated comparisons. However, when done wrong, these benchmarks will either not make any sense, provide the wrong data or results in false conclusions drawn by the developer doing the benchmark. To avoid that, a wiki page listing some of the pitfalls when benchmarking is available here: [[/ |
| The advice given there needs to be added to the %%FreeBSD%% developers handbook so that people doing benchmarks can be pointed there for doing correct benchmarks. When adding these hints to the developers handbook, the source code for the chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. | The advice given there needs to be added to the %%FreeBSD%% developers handbook so that people doing benchmarks can be pointed there for doing correct benchmarks. When adding these hints to the developers handbook, the source code for the chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. | ||
| Line 549: | Line 564: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 10-40 | | | Time limit | 10-40 | | ||
| - | | Mentor | cs@freebsd.org | | + | | Mentor | <cs@freebsd.org> | |
| | Requirements | The descriptions of ports/ | | Requirements | The descriptions of ports/ | ||
| Line 567: | Line 582: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 20-30 | | | Time limit | 20-30 | | ||
| - | | Mentor | rpaulo@freebsd.org | | + | | Mentor | <rpaulo@freebsd.org> | |
| | Requirements | The %%FreeBSD%% developer' | | Requirements | The %%FreeBSD%% developer' | ||
| Line 585: | Line 600: | ||
| | Difficulty | medium | | | Difficulty | medium | | ||
| | Time limit | 20-30 | | | Time limit | 20-30 | | ||
| - | | Mentor | beat@freebsd.org, | + | | Mentor | <beat@freebsd.org>, <bcr@FreeBSD.org> | |
| | Requirements | Merge the Ports Subversion Primer from the wiki to the Subversion Primer in the the %%FreeBSD%% developers handbook. | | | Requirements | Merge the Ports Subversion Primer from the wiki to the Subversion Primer in the the %%FreeBSD%% developers handbook. | | ||
| ==== Description of task ==== | ==== Description of task ==== | ||
| - | The %%FreeBSD%% ports tree is using the Subversion (SVN) as source code management system. There is a Ports Subversion Primer in the %%FreeBSD%% Wiki http:// | + | The %%FreeBSD%% ports tree is using the Subversion (SVN) as source code management system. There is a Ports Subversion Primer in the %%FreeBSD%% Wiki [[/ |
| Task requires: | Task requires: | ||
| Line 811: | Line 826: | ||
| But NIS servers are less and less available at some sites while | But NIS servers are less and less available at some sites while | ||
| - | [[/ActiveDirectory|ActiveDirectory]] | + | %%ActiveDirectory%% has massively popularized LDAP. The availability of %%OpenLDAP%% |
| (for unix and OS/X) means a Unix/BSD only method of centralized | (for unix and OS/X) means a Unix/BSD only method of centralized | ||
| administration is possible but a BSD licensed set of nss and pam modules are | administration is possible but a BSD licensed set of nss and pam modules are | ||
| Line 879: | Line 894: | ||
| | Difficulty | easu | | | Difficulty | easu | | ||
| | Time limit | 20 | | | Time limit | 20 | | ||
| - | | Mentor | '' | + | | Mentor | '' |
| | Requirements | a tool similar to patchcheck for Linux | | | Requirements | a tool similar to patchcheck for Linux | | ||
| Line 916: | Line 931: | ||
| | Time | 16 | | | Time | 16 | | ||
| | Mentor | FREEBSDMENTOR | | | Mentor | FREEBSDMENTOR | | ||
| - | | Requirement (task outcome) | Slick high quality PDFs and [[/ | + | | Requirement (task outcome) | Slick high quality PDFs and Handbook |
| | Description | Hook PDF creation targets into build process. | | | Description | Hook PDF creation targets into build process. | | ||
| | Contributor' | | Contributor' | ||
| Line 1191: | Line 1206: | ||
| | Mentor | FREEBSDMENTOR | | | Mentor | FREEBSDMENTOR | | ||
| | Requirements | a tool that will emulate an ISP providing home IPv6 service | | | Requirements | a tool that will emulate an ISP providing home IPv6 service | | ||
| - | | Idea contributor bc979@lafn.org | | + | | Idea contributor |
| | Description | of a task | | | Description | of a task | | ||
| Line 1203: | Line 1218: | ||
| | Mentor | FREEBSDMENTOR | | | Mentor | FREEBSDMENTOR | | ||
| | A | tool that will identify files that should be included in CVS but are not | | | A | tool that will identify files that should be included in CVS but are not | | ||
| - | | Idea contributor bc979@lafn.org | | + | | Idea contributor |
| | Description | of a task | | | Description | of a task | | ||
| Line 1228: | Line 1243: | ||
| %%FreeBSD%% users/ | %%FreeBSD%% users/ | ||
| a %%FreeBSD%% specific Examples section. | a %%FreeBSD%% specific Examples section. | ||
| - | |||
| - | Contributor' | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Port DragonflyBSD' | ||
| - | |||
| - | | Category | Code | | ||
| - | | Difficulty | Hard | | ||
| - | | Time | 480 | | ||
| - | | Mentor | FREEBSDMENTOR | | ||
| - | | Requirement (task outcome) | Research porting requirements for %%DragonflyBSD%% | | ||
| - | | Description | HAMMER is a high performance BSD licensed file system with | | ||
| - | |||
| - | HAMMER is a high performance BSD licensed file system with | ||
| - | many features that are competitive with zfs. | ||
| - | |||
| - | This project focuses on researching the code writing and changes to the | ||
| - | %%FreeBSD%% kernel that would be required for %%DragonflyBSD%% HAMMERfs to be ported | ||
| - | to %%FreeBSD%%. | ||
| Contributor' | Contributor' | ||
| Line 1275: | Line 1270: | ||
| * lot of testing. | * lot of testing. | ||
| - | Contributor' | + | Contributor' |
| ---- | ---- | ||
| - | ===== Update/ | + | %%=%%=)>> |
| | Category | Code | | | Category | Code | | ||
| Line 1514: | Line 1509: | ||
| Description*: | Description*: | ||
| - | your feet wet with Integrated Testing approaches to software development: | + | your feet wet with Integrated Testing approaches to software development: |
| - | + | ||
| - | http:// | + | |
| One day this could make you employable with companies that use %%FreeBSD%% in | One day this could make you employable with companies that use %%FreeBSD%% in | ||
| Line 1602: | Line 1595: | ||
| Time*: 16 | Time*: 16 | ||
| - | Mentor*: bcr@freebsd.org | + | Mentor*: |
| + | )>> | ||
| Requirement (task outcome)*: Usable ZFS chapter in %%FreeBSD%% Handbook about | Requirement (task outcome)*: Usable ZFS chapter in %%FreeBSD%% Handbook about | ||
| ZFS pool import/ | ZFS pool import/ | ||
| Line 1638: | Line 1631: | ||
| http:// | http:// | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Add recursive mode to BSD ctags ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Improve BSD ctags by adding a recursive mode | ||
| + | |||
| + | Description*: | ||
| + | version of the ctags tool. | ||
| + | |||
| + | Since ctags is a key part of many development tools and the student will | ||
| + | gain high visibility and get many useful comments on their work. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Make Androoid SDK work on FreeBSD ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Make %%FreeBSD%% a viable platform for the Android | ||
| + | SDK | ||
| + | |||
| + | Description*: | ||
| + | |||
| + | - document how to set up an ADK development environment on %%FreeBSD%% for a | ||
| + | Handbook Appendix chapter or article. | ||
| + | |||
| + | - create a port/pkg | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Port embedded bionic C library ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 480 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Help with Bionic portiing efforts | ||
| + | |||
| + | Description*: | ||
| + | functions to help porting BSD licensed embedded C library to broader range | ||
| + | of BSD systems. Tasks would be aligned assigned and discussed with $MENTOR | ||
| + | |||
| + | This would be a a very prestigious and highly technical coding effort for | ||
| + | ambitious students, leading to longer term affiliation with BSD community | ||
| + | and employment and educational opportunities. | ||
| + | |||
| + | Possibly more appropriate for GSoc but both a %%GSoC%% and GCIn component to | ||
| + | this larger project could be designed. | ||
| + | |||
| + | See discussion here: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Make a musl-libc pkg/port ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Make %%FreeBSD%% a viable platform for the Android | ||
| + | SDK | ||
| + | |||
| + | Description*: | ||
| + | |||
| + | (see [[http:// | ||
| + | |||
| + | Creating a port will make musl-libc more easily available for testing and | ||
| + | debugging among %%FreeBSD%% developers and users. This will help to identify | ||
| + | bugs and compatibility issues. In addition to the port some simple tests to | ||
| + | build/run a selection of programs will be useful. | ||
| + | |||
| + | A longer term target/ | ||
| + | nanobsd using musl-libc for CURRENT, 10.0-RELEASE or 9.2-RELEASE | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Create web based interface to control services called by rc.d (system and in local) ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Create the framework for a web based interface | ||
| + | to control %%FreeBSD%% services | ||
| + | |||
| + | Description*: | ||
| + | control certain services started from /etc/rc.d and / | ||
| + | |||
| + | Services controlled would be configurable via a config file. | ||
| + | |||
| + | Items would include user authentication against pam.d,use of self signed SSL | ||
| + | cert, ability to toggle what is controllable or just show status of service, | ||
| + | etc. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Web interface to setfib command ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Web interface ti display routing info from | ||
| + | setfib commamd | ||
| + | |||
| + | Description*: | ||
| + | setfib command. | ||
| + | |||
| + | This would possibly prove useful for those who monitor systems without | ||
| + | having to login to the box and run a series of commands. | ||
| + | |||
| + | Would include routing table info, sockstat, etc. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: TCP/IP over QRCode ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Create a novelty TCP/IP stack that | ||
| + | transmits/ | ||
| + | |||
| + | Description*: | ||
| + | Datagrams on Avian Carriers, create a similar TCP/IP stack that uses QRCode | ||
| + | to transmit/ | ||
| + | |||
| + | While this is wholly a novelty item, imple, | ||
| + | that uses QRCode as the transmission medium. | ||
| + | |||
| + | The code generated in this task should be structured as to make the QRCode | ||
| + | encode/ | ||
| + | SMTP, etc. | ||
| + | |||
| + | A data packet structure and header indicating version number, type, etc | ||
| + | would exist in the encoded data to facilitate this. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Native DKIM/ | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Create a standard script/ | ||
| + | add/ | ||
| + | |||
| + | Description*: | ||
| + | DKIM/ | ||
| + | |||
| + | This would also verify SPF as well. | ||
| + | |||
| + | The utility could be a shell script or compiled program. It would | ||
| + | add/ | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: FreeBSD Iphone/ | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Iphone/ | ||
| + | %%FreeBSD%% | ||
| + | |||
| + | Description*: | ||
| + | users. This would include release announcements, | ||
| + | upcoming events, etc. | ||
| + | |||
| + | It would be yet another way for people to stay abreast of %%FreeBSD%% happenings | ||
| + | without using the mailing lists. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: FreeBSD server heartbeat monitor app ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 23 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Iphone/ | ||
| + | %%FreeBSD%% system " | ||
| + | |||
| + | Description*: | ||
| + | or down, and current system load. | ||
| + | |||
| + | Useful for knowing if a system is under heavy load from afar. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Curses or menu based program to seach ports ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Create an easier way to search ports and | ||
| + | display pkg-descr and requirements | ||
| + | |||
| + | Description*: | ||
| + | showing programs avail, description and dependencies. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Make / | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: To create a more user friendly way to parse | ||
| + | UPDATING | ||
| + | |||
| + | Description*: | ||
| + | friendly. | ||
| + | |||
| + | This take would entail creating a way to make this monster more manageable | ||
| + | to search from within the CLI. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Fix picobsd build script ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Fix/update the Picobsd build scripts to work | ||
| + | again with never version of %%FreeBSD%% | ||
| + | |||
| + | Description*: | ||
| + | antiquated, they can still be useful. | ||
| + | |||
| + | This task would involve updating the %%PicoBSD%% build scripts to work correctly | ||
| + | with newer versions of %%FreeBSD%%. They could also be updated to take advantage | ||
| + | of the " | ||
| + | created. | ||
| + | |||
| + | Additionally, | ||
| + | based install that would fit onto mini CDs. It could also include an option | ||
| + | for creating a PXE bootable system that is all inclusive. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: boot.config utility ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: A utility to create/ | ||
| + | |||
| + | Description*: | ||
| + | the boot.config file located on the root of the bootable drive in %%FreeBSD%%. | ||
| + | |||
| + | This would make it easier to create/ | ||
| + | critical file. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Update the scripts in / | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Update the old scripts in / | ||
| + | making them more efficient and relevant | ||
| + | |||
| + | Description*: | ||
| + | could use a " | ||
| + | |||
| + | This project would involve taking each script in / | ||
| + | through it and making sure it is still relevant by deleting or updating | ||
| + | pieces of code as necessary. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: FastCGI Markdown plugin for nginx, lighttpd, etc. ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Create a CGI based plugin for serving markdown | ||
| + | as HTML directly | ||
| + | |||
| + | Description*: | ||
| + | directly. | ||
| + | |||
| + | The tool should ability to serve/ | ||
| + | Markdown formatted text directly from the localhost' | ||
| + | handbook/ | ||
| + | |||
| + | Manual pages can be extended by adding references to handbook and wiki | ||
| + | sections that become official and are shipped with the RELEASE. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: FBFS Scheduler ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 32 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: C skills and kernel-scheduler knowledge | ||
| + | |||
| + | Description*: | ||
| + | |||
| + | %%FreeBSD%% scheduler offer advanced features for 2 or more CPU cores. The ULE | ||
| + | is stable and secure to use in production. For low hardware systems, like | ||
| + | geode processors (1 core), FBFS is better than 4BSD (some years old) and ULE | ||
| + | because of simple design and responsiveness. | ||
| + | The task is port code from FBFS project (already made to %%FreeBSD%% 8.2 and | ||
| + | 9.0) to %%FreeBSD%% 8.3, 9.1 and 10, reevaluating concepts of BFS scheduler and | ||
| + | FBFS. | ||
| + | |||
| + | (2) Task requires | ||
| + | |||
| + | A %%FreeBSD%% System. Strong knowledge of kernel scheduler and it's design. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: FreeBSD on tablets ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 160 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Port %%FreeBSD%% to tablet form factor computing | ||
| + | platform | ||
| + | |||
| + | Description*: | ||
| + | running chrome and virtual desktops so gesture based vim/emacs can run | ||
| + | alongside it in tablet console heaven. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Web references for error messages in zfs and elsewhere ===== | ||
| + | |||
| + | Category*: Code, Documentation/ | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Web references for error messages in zfs and | ||
| + | elsewhere | ||
| + | |||
| + | Description*: | ||
| + | can be very useful for sysadmins/ | ||
| + | these. %%FreeBSD%% could begin to adopt this approach as well and a useful start | ||
| + | on this could be made by BSDizing the error messages from zfs that refer to | ||
| + | sun.com. | ||
| + | |||
| + | The primary outcome of this task would be to either BSDize or update error | ||
| + | messages from zfs that refer to now dead links at sun.com | ||
| + | |||
| + | http:// | ||
| + | |||
| + | To the extent possible the content from these pages and URLs can be fetched | ||
| + | updated from archives and caches. | ||
| + | |||
| + | Then a simple clean up of the source tree with: | ||
| + | |||
| + | 'sed s# | ||
| + | |||
| + | that would point *all* msgs at freebsd.org/ | ||
| + | the proejct to gradually develop a protocol for adding information (tuning, | ||
| + | PRs or simply more detailed information) to the output of various errors. | ||
| + | |||
| + | Perhaps the best approach would be to link to a msg hierarchy on the | ||
| + | freebsd.org website that mimcis the source tree: | ||
| + | |||
| + | freebsd.org/ | ||
| + | |||
| + | freebsd.org/ | ||
| + | |||
| + | under there an " | ||
| + | sections. More specific linke could be RESTful urls that refer to a msg | ||
| + | number (as sun/oracle does) e.g.: | ||
| + | |||
| + | freebsd.org/ | ||
| + | |||
| + | A student could do some grepping with sed and awk and refer the URLs to a | ||
| + | mocked up site then creat errors that would trigger the messages. Prepare | ||
| + | Makefiles commands and patches that would clean the zfs tree and then think | ||
| + | about expanding this approach to other error messages in %%FreeBSD%% itself. | ||
| + | |||
| + | For the ZFS portion of this work, the content of ZFS-%%**%%%%**%%-%%**%% messages could | ||
| + | be fetched stored/ | ||
| + | implementors. With sun's demise or passing on to a glorious after life we | ||
| + | (e.g. Illumos, !%%SmartOS%%, | ||
| + | now and we should clean up and maintain these error messages. This would | ||
| + | allow the %%FreeBSD%% proejct to strengthen its collaboration with other ZFS | ||
| + | maintainers. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: MAke it possible to " | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: MAke it possible to " | ||
| + | etc | ||
| + | |||
| + | Description*: | ||
| + | javascripty voting and page ranking thingie to add to PRs allowing folks | ||
| + | with freebsd.org " | ||
| + | openid/ | ||
| + | the above list. Eventually extend this to PRs | ||
| + | |||
| + | Some services (e.g. Googlecoode) have similar features and implementations | ||
| + | are well known. For a web savvy student this should be easy. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Improve default rc.firewall ruleset ===== | ||
| + | |||
| + | Category*: Documentation/ | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 20 | ||
| + | |||
| + | Mentor*: melifaro | ||
| + | |||
| + | Requirement (task outcome)*: firewall ruleset without legacy rules | ||
| + | |||
| + | Description*: | ||
| + | ipfw(8) is base Ipv4/IPv6 firewall used in %%FreeBSD%%. | ||
| + | Default ruleset provide some pre-defined flavors like router or NAT box. | ||
| + | Some of the rules (particularly loopback and nat-based ones) are out of date | ||
| + | and does not reflect current ipfw/kernel abilities. | ||
| + | |||
| + | (2) Task requires | ||
| + | Basic firewall / nat/pat working principles. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Title: add LDAP backend support to YP/NIS | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 64 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: port ypldapd to %%FreeBSD%% from %%OpenBSD%% | ||
| + | |||
| + | Description*: | ||
| + | available for %%FreeBSD%% or BSD in general (though %%OpenBSD%% now ships with a | ||
| + | simple LDAP server and login_ldap support). %%OpenBSD%%' | ||
| + | great support for yp/nis in BSD and updates it to use an LDAP backend | ||
| + | eliminating the need to transfer NIS maps from servers to clients and | ||
| + | allowing for central administration. | ||
| + | |||
| + | This taks focuses on adding support for LDAP to %%FreeBSD%%' | ||
| + | |||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: add LDAP backend support to YP/NIS ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 64 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: port ypldapd to %%FreeBSD%% from %%OpenBSD%% | ||
| + | |||
| + | Description*: | ||
| + | available for %%FreeBSD%% or BSD in general (though %%OpenBSD%% now ships with a | ||
| + | simple LDAP server and login_ldap support). %%OpenBSD%%' | ||
| + | great support for yp/nis in BSD and updates it to use an LDAP backend | ||
| + | eliminating the need to transfer NIS maps from servers to clients and | ||
| + | allowing for central administration. | ||
| + | |||
| + | This taks focuses on adding support for LDAP to %%FreeBSD%%' | ||
| + | |||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Port CIFS server and client from opensolaris ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 160 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Port CIFS server and client from opensolaris | ||
| + | |||
| + | Description*: | ||
| + | day. Plus Samba is and complicated to set up compared to %%OpenSolaris%% | ||
| + | it's GPLv3) | ||
| + | |||
| + | the code for CIFS server and client could go int src/cddl (haha!) or just be | ||
| + | made into a port. Better integration with ZFS and vendor support from our | ||
| + | friends at Illumos, Joyent, %%OpenIndiana%% and Oracle. | ||
| + | |||
| + | It's nice to have choices | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Add easy to use cut and paste URLs to ports viewsvn interface ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Ports viewsvn interface should have easy to | ||
| + | cut/paste URLs | ||
| + | |||
| + | Description*: | ||
| + | like github | ||
| + | |||
| + | This is an easy coding config task for a student who could mirror the the | ||
| + | svnweb setup for freebsd and modify the UI/ | ||
| + | something like: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | always gives a plain text copyable commandline URL for anonymous svn like: | ||
| + | |||
| + | "svn co -rXXXXXXX http:// | ||
| + | |||
| + | that can be cut and pasted into a commandline. Adding the the correct | ||
| + | -rXXXXX to the output (with XXXX = to the revision being browsed) might take | ||
| + | a little coding (python = easy) | ||
| + | |||
| + | This would make svnweb more useful and add to services like freshports | ||
| + | (which still needs to work on converting its CVSWeb links to svnsweb). | ||
| + | |||
| + | Also add appropriate red color scheme and small beastie PNG's to the pages | ||
| + | to make it beeyootiful | ||
| + | |||
| + | As one of the larges SVN repos in the world this project would add prestige | ||
| + | to any student resume. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: Native support for a general purpose notification daemon ===== | ||
| + | |||
| + | Category*: Code | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 48 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Develop a tool/daemon for handling hardware | ||
| + | failure notifications | ||
| + | |||
| + | Description*: | ||
| + | intervention to replace them on failure. This is because %%FreeBSD%% lacks | ||
| + | daemon that would receive notifications about disk failures | ||
| + | And "zpool replace" | ||
| + | |||
| + | kern/ | ||
| + | http:// | ||
| + | |||
| + | This project could handle the specific zfs case or add features and | ||
| + | capabilities to an existing %%FreeBSD%% subsystem that would make more generic | ||
| + | hardware failure monitoring possible. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: I/O Limits for FreeBSD Jails ===== | ||
| + | |||
| + | Category*: Code, Outreach/ | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 100 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: Each Jails should have a configurable I/O limit | ||
| + | |||
| + | Description*: | ||
| + | has a way to limit I/O activity per container. | ||
| + | |||
| + | To simplest way to achieve this in %%FreeBSD%% would be to use the GEOM layer to | ||
| + | implement a fair scheduler algorithm. | ||
| + | |||
| + | We would divide I/O pool in several queues, assigning 1 or more queues to | ||
| + | each container, according to priority. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | %%=%%=)>> | ||
| + | |||
| + | Category*: Code, Documentation/ | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 16 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: A %%FreeBSD%% System. Strong knowledge of 802.11 | ||
| + | stack in %%FreeBSD%%. | ||
| + | |||
| + | Description*: | ||
| + | |||
| + | (1) Description of a task | ||
| + | |||
| + | %%FreeBSD%% wireless support is very stable and secure to use in production | ||
| + | sites. In a way to improve performance and stability, a new research point a | ||
| + | very large gain with this new protocol: | ||
| + | [[http:// | ||
| + | The task is implement this protocol and document his usage. Important: | ||
| + | Develop in sync to %%FreeBSD%% 10 and downgrade the code to %%FreeBSD%% 9 and | ||
| + | %%FreeBSD%% 8 (for use in important and very used projetcts like pfSense). | ||
| + | |||
| + | (2) Task requires | ||
| + | |||
| + | A %%FreeBSD%% System. Strong knowledge of 802.11 stack in %%FreeBSD%%. | ||
| + | |||
| + | Contributor' | ||
| + | |||
| + | %%=%%= | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Title: SVN client in FreeBSD base system. BSD Licensed. ===== | ||
| + | |||
| + | Category*: Code, Documentation/ | ||
| + | |||
| + | Difficulty*: | ||
| + | |||
| + | Time*: 32 | ||
| + | |||
| + | Mentor*: FREEBSDMENTOR | ||
| + | |||
| + | Requirement (task outcome)*: A %%FreeBSD%% System. Strong knowledge of SVN | ||
| + | client concepts | ||
| + | |||
| + | Description*: | ||
| + | |||
| + | With the change from cvs to svn, install subversion from ports is not | ||
| + | practical (time precious). Create a BSD Licensed SVN client to use builtin | ||
| + | system base. Backport to %%FreeBSD%% 9 and 8. | ||
| + | Create documents about usage (handbook, man). Small memory use and simple. | ||
| + | More later thinking about use multiple mirrors to speed up sources | ||
| + | downloading and not overcharge servers (like use servers in other country | ||
| + | without massive usage in moment). | ||
| + | |||
| + | (2) Task requires | ||
| + | |||
| + | A %%FreeBSD%% System. Strong knowledge of SVN client concepts. | ||
| Contributor' | Contributor' | ||
| Line 1648: | Line 2461: | ||
| | Difficulty | easy, medium, hard | | | Difficulty | easy, medium, hard | | ||
| | Time limit | number of **participant' | | Time limit | number of **participant' | ||
| - | | Mentor | '' | + | | Mentor | '' |
| | Requirements | What do we expect to be there to grade this task as ' | | Requirements | What do we expect to be there to grade this task as ' | ||
| | Idea contributor | IF YOUR IDEA, EMAIL wkoszek (at) %%FreeBSD%%.org | | | Idea contributor | IF YOUR IDEA, EMAIL wkoszek (at) %%FreeBSD%%.org | | ||
| Line 1664: | Line 2477: | ||
| over the duration of the Google Code-In. This should give you a feeling of what kind | over the duration of the Google Code-In. This should give you a feeling of what kind | ||
| of tasks we must have here. | of tasks we must have here. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||