Hi Rodrigo, redirected to misc@, this is off-topic on tech@.
Rodrigo Mosconi wrote on Mon, Jan 25, 2016 at 06:54:32PM -0200: > I would like to receive some help/mentoring. I`m cursing a master degree > course at PUC-Rio, and I need to "create a useful program that performs a > service of interest to anyone other than exsively the student." So I would > like to create something to the openbsd project. > > I would like to know in which areas need some work? I have partial time to > work on it and only this half year to do it. Some of the old google summer > of code is still need? There are some need to a new daemon, or replace an > old one, aligned with the openbsd style ( configuration files, privsep, > plegde)? For a beginner, it's usually easier to do bugfixing in high-qualitive existing code than to do full-scale auditing or refactoring in low-quality existing code, and for a beginner, it is even harder to write new high-quality code from scratch. So to anyone considering similar projects, make sure that you start regularly finding bugs and sending patches to fix them at least one year before you want to do a project that involves writing a new program for OpenBSD from scratch. Otherwise, it's gonna be tough. Besides, we have a hard time advising people what they could do if we don't know what they are capable of. "Master student at a university" doesn't mean a lot. There are people who don't study anything, suddenly pop up out of nowhere, and do good work right away. There are people with a degree who fail even at simple tasks. Rodrigo, according to the ChangeLog, you worked on cwm(1) and cfengine so far. Given that amount of public information, the only person who can judge your skills is yourself. We sometimes say "/usr/bin/" is full, meaning that adding additional programs doesn't necessarily make the system better. If done without good reason, it just makes the system larger and less simple. Consequently, finding a project of the kind "write a new program" is about ten times harder than finding a project of the kind "improve an existing program", even for an experienced developer. All that said, there _are_ some programs that need to be rewritten. The one that is most sorely missing is ppp(8), a PPP client program. That may not be a simple task, and it may not be easy to find a mentor. The people most knowledgable in that area live in Japan, they are very focussed and very hard-working people, and they are *very* busy. There is other stuff that requires rewriting, in alphabetical order: * adduser(8)/useradd(8): Needs to be unified into one single program and cleaned up. * dig(8)/nslookup(8)/host(8): A simpler replacement not using external libraries would be useful. * ftp(8) is very old and suffering from bitrot; the last attempt to rewrite it trickled out with no obvious conclusion, i don't exactly know why. * ldapd(8) is decent code, but sorely lacks a maintainer. * ldappasswd(1) would be nice to have. * lpd(8)/lpc(8)/lpr(1) is very old and suffering from bitrot. * traceroute(8) needs to be extended by the functionality of tcptraceroute. Some GSOC projects may still be relevant, but one has to admit that it is rare that GSOC projects produce code that actually gets committed. Even among those that succeeded, only a minority produced code good enough to actually get used. If people look for a project rather than simply working on what they are interested in, chances for success are quite slim. That said, don't despair, but you really need to be able to realistically judge your own skills and interests, make up your own mind, and take initiative. Yours, Ingo