Libiquity is participating for a second time in the Capstone program of the New Jersey Institute of Technology College of Computing Sciences.
Founded in 2002, the award-winning NJIT CCS Capstone program is an opportunity for senior university students to work with sponsoring organizations on real-world projects.
Proposed Project: Packages and Development Utilities
This semester, Libiquity has proposed a "Packages and Development Utilities" project.
Project Description
The goal of this project is to bring a free/libre/open-source embedded operating system distribution closer to a developer-friendly first public release. It involves two main types of work: the packaging of software programs and libraries and the development of utilities to assist distribution developers.
At least three libraries and one program need to be packaged. Students may work on additional packages and possibly work with upstream codebases and developers as time and their interests permit.
Tools need to be developed to create isolated operating system environments and to build packages in such isolated environments. As time permits, students may also work on components of a build daemon infrastructure.
Deliverables
The following should be done for the project to be considered complete:
- At least four software packages: GMP, MPFR, MPC, and GNU Make;
- A tool to download and install packages into an isolated environment; and
- A tool to build software packages in an isolated system environment.
Depending on students' time and interest, the team may choose to additionally complete the following tasks:
- More software packages (e.g. Dropbear, Perl 5, and GNU Autoconf) and
- Some or all components of a package build daemon infrastructure.
Expected Student Skillset
Students should have:
- Experience using and developing software for a UNIX-like operating system,
- Some knowledge of UNIX shell command language, and
- Some knowledge of UNIX makefile syntax.
The following are helpful but not required:
- Experience with the Git revision control system and
- Experience with packaging software for Debian and/or its derivatives.
Unique Benefits for Students
This is an opportunity for students to work within a growing free software project, work with numerous existing free software programs and libraries, and research work done within other similar free software projects. Students may also choose to work with upstream free software codebases and developers.
Other Considerations
Development will require a UNIX-like operating system such as GNU/Linux, FreeBSD, or Apple Mac OS X. Debian GNU/Linux (or a derivative such as Ubuntu or Trisquel) is recommended; installation media and assistance with these systems may be provided upon request.
Hosting for software repositories using the Git revision control system will be provided as needed.
A channel on the Freenode IRC network (#libiquity) will be available for team communication.