Author: Hiltjo Posthuma <firstname.lastname@example.org>
Date: Sat, 11 Nov 2017 17:09:04 +0100
update project ideas
- There is no mentor program officially: community does peer review.
- Remove bugtracker project: the ML and TODO file is the "bugtracker".
- The mobile application platform is not suckless so remove it.
- Add geomyidae server link to the gopher idea.
- Remove some Linux-isms: suckless is for more platforms than Linux.
- Unix -> UNIX.
- Small typos.
- Add some punctuation.
1 file changed, 22 insertions(+), 42 deletions(-)
diff --git a/suckless.org/project_ideas.md b/suckless.org/project_ideas.md
@@ -3,14 +3,9 @@ Project ideas
Please read our [philosophy](/philosophy) for background information.
-We intend that each student will be the project leader of his/her particular
-project and the only individual with commit privilege for the repository.
-There will be one mentor and one backup mentor per project. In addition, the
-suckless.org community will act as a rigid external reviewer of the
-student's progress, as well as of the mentor's.
+The suckless.org community will act as a rigid reviewer of the progress.
@@ -18,37 +13,33 @@ Our project ideas in general intend to focus on our innovative development
environment from bare hardware to the graphical interface.
* Graphical user interfaces for developers (such as more advanced
- concepts for mail clients, messaging clients, music players, text editors)
+ concepts for mail clients, messaging clients, music players, text editors).
* Web applications for developers following our GUI concepts (issue and bug
-* Mobile applications for developers that integrate well into our general
- development environment
-* General userland enhancements to Unix-like operating systems, in particular
-* Foundations of a new windowing system for Unix-like operating systems
-* Improvements to our existing software projects
-* Replacements of bloated existing software in a suckless way.
+* General userland enhancements to UNIX-like operating systems.
+* Foundations of a new windowing system for UNIX-like operating systems.
+* Improvements to our existing software projects and infrastructure.
+* Replacements of bloated existing software and libraries in a suckless way.
The listed ideas generally require good knowledge of C and experience with
-Unix-like operating systems. The difficulty ranges from medium to high.
-An academic background in computer science is desirable but not essential.
+UNIX-like operating systems. The difficulty ranges from medium to high.
### Suckless font rendering library
There is libdrw in suckless now, which still uses xft and fontconfig.
Fontconfig and xft are ugly and require too much internal knowledge to be
-useful. The next logical layer in Linux evolved as pango and cairo. Both of
-course added HTML formatting and vector drawing. This is not needed to simply
-draw some text somewhere. And this is what a suckless font rendering library
+useful. The next logical layer evolved as pango and cairo. Both ofcourse
+added HTML formatting and vector drawing. This is not needed to simply draw
+some text somewhere. And this is what a suckless font rendering library
should do: Give it a font string and render at some position the given font
without having to care about font specifics.
[Some work](https://git.ekleog.org/dtext) has already been done to replace
libXft and Fontconfig. Real-world testing is however still needed.
-***Requirements:*** C knowledge, some X11 knowledge and of course knowledge
+***Requirements:*** C knowledge, some X11 knowledge and ofcourse knowledge
about the font formats and how to handle them.
### Write ld wrapper or replacement for static linking
@@ -59,7 +50,7 @@ statically linked libraries or executables. Also they are
extremely slow and bloated.
The [stali](http://sta.li/) build system is not using autotools for good
-reason, however many Unix/Linux open source packages do. To create statically
+reason, however many UNIX/Linux open source packages do. To create statically
linked libraries out of the ld arguments we need an ld wrapper or
re-implementation that creates static libraries or executables. This would
enable us to build static libraries and executables out of any automake
@@ -70,21 +61,8 @@ The ld wrapper needs to be extended to also link against uclibc first and if
that fails to fallback to glibc, in order to produce smaller executables in the
-***Requirements:*** Good C/Unix knowledge is essential, knowledge about linking/linker internals are desirable..
-### Write a decent bug and issue tracking system
-We a need a decent ticket management system, as this is a common task in
-today's daily activity in business and private time management. This task
-includes the design and implementation of a suckless system that solves the
-problems of TTS (Trouble Ticket System), ARS (Action Request System) and IRS
-(Incident Response System) all together. It also must be usable as a bug
-For now suckless is using a mailinglist which fits all needs. Beware when you
-find the new and innovative way to report bugs that this is reality.
-***Requirements:*** Good C/Shell/web technology/HTML knowledge would be desirable, knowledge of bug tracking and issue tracking in practice is essential.
+***Requirements:*** Good C/UNIX knowledge is essential, knowledge about
+linking/linker internals are desirable.
### Write a decent mailing list Web archive system
@@ -93,7 +71,7 @@ drawbacks and are quite out-dated. This task requires to write a completely new
web mailing list archiving tool that follows the thread view concepts found in
the mutt MUA and which is designed with low footprint and efficiency in mind.
-We expect this tool as a stand-alone Unix tool written in C or shell. To get
+We expect this tool as a stand-alone UNIX tool written in C or shell. To get
started you could use [Dovecot](http://dovecot.org/) to produce a sanitized
@@ -132,6 +110,7 @@ for how easy it is to write a `menu`, which can be seen as a directory.
* [gopher proxy](http://gopher.floodgap.com/gopher/)
* [Gopher wikipedia article](https://en.wikipedia.org/wiki/Gopher_%28protocol%29)
Anyone creating a gopher interface to suckless.org will get a bonus.
@@ -141,11 +120,12 @@ daemon is required. Everyone can do this.
### A sane backend for surf
There is dillo, netsurf and abaco which implement HTML. The problem is
rendering in surf.
-If you prepare to work on this project, plan ahead in recruting more
+If you prepare to work on this project, plan ahead in recruiting more
developers. You will need them.
***Requirements:*** Very good C knowledge, a very good knowledge in web
standards and how to strip them down to the suckless level.
+***Difficulty level:*** Probably impossible.