And naturally my project is getting extremely large |
How large (in lines of code)?
2.) What can I lose? Meaning, legally, financially and so on.
|
Basically nothing. The market is already flooded with projects that have already done what you are doing. No one will pay any attention to what you do before you can show something impressive that others can't, or until you show something others can, but ask for a lot of money to do it, and you do it for free.
On the legal part. Open-sourcing your project doesn't mean you can't sell it. So long as you are the only contributor, you can always "close the source" (you can't retract what you have already posted, but you can close any future versions).
What can I gain for making this project open source (accessible) and modifiable by other individuals. |
Most importantly, when a project is free/open software, people will pay attention to what you do at a much earlier stage. You will be able to get people to look at what you are doing with far less polish than if you slap a price tag.
If you manage to get someone to join your project, your resourses can x1.5times themselves overnight, without any risks/overhead. Noone will join a non-open/free source project without payment.
***
I am in the beginning of the fifth year of my personal c++ project (its a small mathematica-like computer algebra system). 1/2 year after starting (3.5 years ago) I put the whole project on sourceforge, where I've been developing it ever since. An extra benefit immediately came: free/opensource projects get free svn, etc. hosting. I've been using the wonderful sourceforge tools for maintaining my code without having to learn svn, do system administration, etc.
Such benefits come for free only to open source projects (grab your wallet if you want close-source project hosting done for you).
As far as other people joining your project: last month I got the first person to seriously contribute to my project (a student, who is learning a particular piece of math and programming it at the same time within my project). Getting other people to join you is amazing. Just from having someone "out of the box" compile your project will immediately boost your system. To give you an example, I had messed my codeblocks-makefile. The guy, a complete beginner in C++, fixed the precompiled headers, and sped up the full recompile times from 2 min to less than 1min.
***
One more note. Two months ago, I did join another person's open source project - a colleague of mine who made two courses' worth of LaTeX slides for teaching Calc I and II. The project is amazing (basically automates all my teaching duties). It's only drawback was that he did all the graphics not using LaTeX, so they were not modifiable. I immediately started reworking all his graphics in LaTeX, making them much better and at the same time modifiable. So far I have spent 80+ work hours in his project, additionally adding all my other LaTeX files (homeworks, etc.) to the project, which is well above 100 hours of work as well.