Warning this article is very long!
Every web programmer has at least once in his life thought of a great idea that would revolutionize the internet. It’s hard to describe the adrenaline and readiness to work until late hours to get it done.
The days go and by the end of the fourth or fifth day most of those feelings that got you amped in the first place are kind of gone. A week or two later they are all gone, and all you have left is a bunch of notes and a domain name ready to be bought.
In some cases the domain is already bought and even some code is present.
Did you recognize yourself? I know I have had these great plans that never happend as in most cases the truth is simply that the vision is too great to be created by just you and a friend.
So you get frustrated and lazy very fast and in the end you abandon the project and it’s nothing more than a memory.
But isn’t that a shame?
This doesn’t have to happen any more, why not trying to release it as an OpenSource project?
It might not become what you initially thought it would turn out to be; maybe it will become a part of a greater web application?
Or it might just turn out as you first imagined it to be, whatever the case turns out to be you will not have wasted yet another great idea!
Services for OpenSource projects
There are a lot of sites on the net where you can host your project.
And what’s offer by them can be concluded to the list below.
- Create your own page.
- Host your project files.
- Communication with the users (news, bugtrack, feadback, forums).
- Create code groups
The huge popularity of using these services states the fact that they can effectively help the project’s process.
And as you can see the services offer a lot of nice features, but remember that not every service is a like, some might have fewer options and others can have a lot more.
To find which one would suite your project the most, just make a list of options you’d like and check if there is a service on the net that offers them.
The most basic feature all the services offer is basically that you can create a page for your project, upload the project files to the server and list of the files is created automatically on the project page.
What more features are offered depends on the service so it is a good time to move to the description of a few of the more known services.
The services SourceForge.net and BerliOS.de offer the members or project a fixed template which limits your ability to have it customized, all you can do is fill out the info about the project, add the project files and give certain rights to the members involved in the project.
The companies like Google and Novell Forge have chosen a somewhat different approach.
Instead of a fixed template they offer a wiki solution for the project pages, which gives you somewhat more liberty to customize.
Google have created its own wiki solution whereas Novell Forge has gone with the already known Media Wiki that also is used on the well known online encyclopedia Wikipedia.
This wiki approach gives the project owners the ability to write and manage their texts in their own way. This means that your project page does not have to be in a certain predetermined fashion.
The service Dotscr.org took a step further and offers its users the use of FTP and gives you completely free hand when it comes to the layout and content of the project’s page.
However allowing the members to create completely custom pages might not have been so great after all as the lack of a standard layout or way of organizing the content have made it very difficult to compare chosen projects to each other.
All of the mentioned services offers the coders a system controlling the version of the code, the solutions are two different solutions; CVS (Current Versions System) or Subversion (SVN) which both work in a client/server way.
It works in this fashion that the code of the project application is put in the central repository, to which each programmer has access to using their own login and password.
When the programmer wants to change or add something to the code, the person loads the code from the repository then makes the changes locally after which he approves the changes sending the changed file back to the server.
The control system automatically flags the new version, remembers the changes which gives you the possibility to revoke the changes if needed, and also helps out in situations where a couple of programmers have edits the same file, preventing one to overwrite the other ones progress etc.
Both CVS and SVN are popular free tools to aid working in groups, but amazingly very few hosting companies offers this solution thus the tools presence in these services have helped making them so popular in a way.
The community around projects based on the OpenSource idea plays a major role and you have to not forget this.
It’s the community that stands for most if not all the new ideas and propositions for your project, aids in finding bugs and errors, also sometimes it gets involved in the project helps out with the coding and creation of the application.
This is great in a case where you alone would never pull it through to the finish, remember the text in the beginning of the article about the projects that die out and are forgotten? Well now you have a large community around these services and the odds of you finding volunteers or interested in taking part of your project is great, so the project does not have to die because you don’t have the manpower to realize your idea.
The services offers some great tools which can be used to communicate between the creators and the users/testers like forums, newsletters, polls, news servers and IRC.
Most of the mentioned services also offers a tool named Tracker or as Google calls it Issues where the community can send in bugs/errors or new functions that are wanted from our application.
To each issue alerted by the community you can assign a person that has to deal with it from your programming group, priority, status (done,ongoing,closed), category or conduct a discussion about it (like ask for more information about the bug etc).
The owner of the project is also offered a series of other options like access to a shell (SSH), ready interface to receive donation from the community most often through PayPal, access to a database (MySQL or in some cases PostgreSQL), backups or the creation of a documentation for the project.
What options that are available are as I mentioned before different from one service to another.
You’ll have to check out what is offered where then choose the service that suite you best, there are no short cuts.
Promote your project
Using these online OpenSource services carries with it an awesome bonus, which is a lot of help with the promotion of your project.
Right from the point that you register your project is shown to millions of users as you hit the front page, where new projects are listed.
Also new updates and newly added files to the projects are listed there which gives you even more exposure to the huge community surrounded these services.
It is therefore wise to spend some time, especially in the beginning, to create good information section about our project and a well updated log file of our progress with our projects, updates, new code just put all progress there.
This is good as many services check the frequency of updates, bug reports and requests on the projects and if your project has a good activity in these areas you can get into the ranking which will give you even more exposure to the millions of members surrounding the service.
SourceForge.net even has a project of the month section that will generate even more promotion and hype around your project if you make it, there will be a picture of the creators and an interview with them. In other words a very good publicity not only for your project but for you as programmers as well!
Another very interesting functionality that is available on SF.net, BerliOS and Novell is the so called “Help Wanted” function, which means that you can give out an announce after a programmer, someone to create graphics on a certain subpage on those services (of course for free).
This is very helpful for your project if you lack the manpower to get it started or finished.
Also people who do not have a project of their own going on in that moment can get the opportunity to join the progress of the project and in this way have something to do.
Convinced? Let’s get started!
If you have the determination to create your own project now based on an OpenSource license then you shouldn’t have any problems in creating an account on the mentioned services.
Easiest way is to create one on Google Project Hosting all you need is a google account and you’re ready to go, adding a new project there is very easy just follow the steps and you’ll be finished in no time.
It is somewhat more complicated on SourceForge, BerliOS or Novell Forge where you have to create a new account if you don’t already have one.
Then fill out a somewhat bigger, than in Google’s case, form. Where you have to fill out the programming language used, the platform on which the application will work, the language of the interface, category of the project etc.
After the submission you’ll have to wait until it gets approved by the service staff which normally takes a few days and in most cases a positive one.
The biggest problem occurs normally when you have to choose a license under which you’ll release your project, most services have 50+ licenses available and finding the one that suite your project best can give you a headache!
The creators of the Google service have discovered this problem and have restricted the amount of licenses to seven licenses that are used the most by users.
Is it worth it?
Several of the most popular applications in the world uses the services mentioned in the article, this fact alone speaks for using this approach.
It’s hard to think of any cons to using the opensource services.
You don’t have to worry for space to store the project, you get access to a lot of good tools that helps you with the progress and it’s a lot easier to promote your project using these services.
And all this completely for free – it’s worth it with out a doubt!
Links
SourceForge.net
Forge Novell
Google Project Hosting
Dotsrc.org
BerliOS










Leave a Reply