The Birth of a FOSS Application
Joe Barr writes "Brice Burges explains why and how he created a new free software application, as well as what he learned from the birthing process, in a story on Linux.com. The story provides first-hand insights into the frustrations and satisfactions of developers working on free/open source projects. From the article: 'I'm always disappointed to hear open source project members say that they had "their developer" modify an aspect of the program without ever hearing from that developer or seeing any of the code. This is not progressive.'" Linux.com and Slashdot are both owned by OSTG.
No different from any other software development really.
Engineering is the art of compromise.
This article sounds like an advertisement more than anything else.
find / -iname life 2>
One of the very reasons the term "Open Source" was so heavily slammed in the early days was that it meant too many damn things to too many people (some of whom might also be damned). People, as a whole, adopted it despite those objections and often belittled those who raised them. Now we're finding out that some of those same people are finding out that Open Source does indeed too many different things to too many people, and that people really are trying to achieve different results. Congratulations. Should I break into applause or just do a Kerr Avon impression and throw these people out the airlock?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The checklist on the lower right is probably the best part of the article. It's all pretty obvious stuff when you think about it, but nice to have it all listed.
Maybe not
Don't say "FOSS". If you mean free software, write free software; if you mean open source, write open source, write open source; if you don't know the difference, look it up because there is one and it does matter. By using an empty term like "FOSS" you alienate both worlds by you lack of commitment. I bet some people even pronounce it like "fuss". This is removing all the meaning that was left from the term.
I didn't see anything hypocritical about it. He stated pretty clearly that the reason he didn't fork an existing project was because he couldn't do so and achieve his goals, and he gave several reasons. (eg. Nothing had the right framework for where he wanted to go, he wanted the experience of developing his own project, etc.) Also, immediately after the part that you quoted, he says:
I think he fully understands that people have a licensed right to modify the code, and is okay with this. He simply thought it was disappointing that people who do this often don't bother to make their changes available back to the developers. If anything, he was just mentioning that he wants to make his own project one where people are actively encouraged to do so.
It's not exactly a revolutionary article in FOSS development, but it's handy for anyone who wants a general idea, and hopefully people don't blame him for writing a simple article when it was Slashdot that decided to link to it.
On the other end, some projects use ticket tracking systems that are overly complex - eg, you have to register first, and then fill out 50 fields, search 4 or 5 times to be sure it's not duplicated, etc. In some projects this tracker is not linked to from the main web page, which makes the process even more difficult. In some projects, after reporting a bug you'll get a response "please try in the latest cvs/svn version". All of these things add up to make it a hassle for the causal user to report bugs. From a developers point of view, they mean the developers (who are volunteers, remember) spend less time going through false bug reports.
I think the answer lies somewhere in between. Having to register is a response to spam - there are a lot of spam bots that attack the common bug tracking systems. Having too many fields is annoying, but in a big project it can be useful to get people to report the proper information and be sure the right people look at it. Sometimes asking the user to try the lastest version is appropriate (eg, if there's a possible fix in, but not totally tested for all cases), but sometimes it's just lazyness.
I'm active on a decently large project now, and there are a LOT of false bug reports - bugs reported in branches that are obsolete (and have been fixed for a year), people posting what amounts to help questions as bugs, and bugs that say "____ doesn't work" (eg, utterly useless). Luckily we have non-developer users that go through and close these, ocasionally CC'ing a developer to ask if it's legitimate. However, not all projects have these, and indeed, we didn't for the first year or so of existance. As a result, there were often bug reports that would sit there for a long time before someone got around to going through them. Let me tell you, it's pretty annoying to spend 30 minutes trying to duplicate a bug, only to find out in the end it was a configuration error or some other unrelated problem, where if the user had read documentation they would have solved it.
So basically what it gets down to is: do you make users spend slightly more time to file a decent bug report, or do you waste lots of developer time (in aggregate) tracking down false bugs? Since it's usually the developers that set up the bug tracking system, guess what the answer is...
Speak before you think
The involvement of the person behind the project is really important. Submitting bugs and patches is one thing, but if none one looks at them, why bother? In fact it's a two way route: the more involved the original developer, the more people will take interest in the project.
I submitted bugreports on several occasions in various projects. Most rewarding was when I submitted a small bug in Magpie. I got a personal reply by mail from the original developer. Seeing how your solutions are considered by the developer and how your contributions matter is big aspect of what's open source all about.
The Open Source Definition was an attempt to formalize the requirements of free software, and any difference between the lists of open source licenses and free software licenses are due to nuances in interpretation, rather than anything substantial.
There is a philosophical difference between the main advocates of "free software" and "open source", it just doesn't matter for the majority of developers who just want to share something cool they have done. From my own days as a free software project leader, I'd estimate that for every developer discussing the ethical implication of various licenses on the net, there are 99 who couldn't care less about the license, and would even contribute their code to proprietary project if that had been necessary to make it available to others. [Of course, for every developer discussing the various licenses, there are also 99 non-developers with the mistaken belief that their opinions matter. ]
In conclusion, stop trying to create an artificial ridge between free software and open source when it isn't there or doesn't matter, depending on your point of view. It is 99% overlap, the remaining 1% is just enough for ESR and RMS to stand alone and feel important.