Open Project Guide | For and about open source projects

Dec/09

23

Not invented here syndrome – start or join a project?

This article covers a few additional things that you should think of before starting a project, like whether to join a project instead of starting it. The goal is to give some hints, so you don’t start a project and after you have spent a lot of your time, you’ll find a project that fits your needs and you have wasted a lot of your precious spare time.

FLOSS needs you!

FLOSS (Free/Libre Open Source Software) exists because passionate people work on open source projects in their spare time or even in their paid time, when the company supports the open source spirit. Great projects are built by teams not individuals! Think about projects like the linux kernel or smaller projects like Zikula (CMS/Web Application Framework), they can handle the growing complexity of their particular software only by distributing the “load” on more or less people. So try to keep the fragmentation of the open source sector low by trying to participate instead of duplicating existing software if possible. So please keep in mind: Better try to join a project than start one on your own.

Communication is the key

So, when you’re thinking whether or not you should start a project, then you should take a look at other open source projects that cover more or less the same topic. It’s astonishing what is already covered by existing projects. When you find a project that fits your needs or may be altered to fit your needs, then you should contact the developer team of the project and ask if you can join the team.

Hopefully the project is alive and the developers are cooperating, then it’s better to join the project than to start your own. There are so many projects out there that cover the same area. There is a great deal of productive time wasted by duplicated work. A big percentage of this could have been used more productive when the projects would have joined and worked together.

As we all know, the world is complicated… There are projects that would fit, but you just can’t get a connection to the project. Sometimes the project doesn’t respond to your attempts and keeps a low profile. Maybe the project team is just busy or it doesn’t want help. There are also teams that have pretty strange ways to deal with external requests. Some are harsh and mean, some are too demanding. It’s understandable that this is not a project that you want to participate in.

In short: Try to contact interesting project teams, if it doesn’t work out, don’t be too disappointed!

To fork or not to fork, that is the question!

What happens when you find a project that fits your needs but you can’t or won’t join it because it’s dead, you don’t like the team or the team doesn’t like you. Instead of starting from scratch you can fork the project and get a head start. It’s an interesting alternative, because you can immediately start with the interesting stuff, because all the basic infrastructure in form of source code is already there.

Maybe I should explain shortly what a fork is. It is a “copy” of the original project, that has it’s own development team and it’s own name. You normally have to keep the license, but this is in most cases not a problem. If you want to change the license, then you have to rewrite the whole project or ask all former contributors for their permission.

Another advantage is that you have the chance to convince some of the users of the “old” project that your fork is better. Having initially a small user base can help a lot. Of course it may also be a burden because you can’t be that flexible with your changes.

To summarize it: Maybe a fork is the right solution, but keep license problems and existing users in mind!

The not invented here syndrome

Another reason to start a new project despite the (hopefully) valid points mentioned above, is that you want to do this all on your own. This is called the “not invented here syndrome”. In my opinion, this is one of the most popular reasons why new projects are started. I even started projects on my own for this reason. It’s fine to start projects to learn something, but please keep the reasons, that I have pointed out, in mind. You can learn about the topics you are interested in too by studying the code of the existing projects. Long story short: Do you really need to start a new project or is it just to satisfy your curiosity?

Conclusion

There are many reasons to start a new project, but there are also as many reasons to join projects. Don’t waste your time by starting from scratch if you can build on top of something that already works. Maybe even join a project to join efforts. It’s fun!

· ·

No comments yet.

Leave a Reply

<<

>>

Theme Design by devolux.nh2.me