views:

65

answers:

2

I've been working on a project which I plan to eventually GPL (as I do with all non-hired code I write). It's about 10,000 lines of code now, so I'm far enough into the project that I now have better understanding of the problem at hand and have more and better ideas to take this project to the next level.

I'd like to however maintain the integrity of this project so it's more difficult for commercial companies to easily re-write the code and close source it (now that they've re-written their own code). When the code base is large enough, this sort of theft (in my opinion) is more difficult, so when the code base is large enough, commercial companies that like the project will instead choose to sponsor the development of more features into the project (either directly or by hiring others, I don't care) but eventually the project will grow for everyone and stay open for all users.

This is why I'd like to hold on to the project a couple of more months until it has more structure into it. In a sense I'm delaying the release of the source now to protect the integrity of the project in the future.

What's encouraging me to do this is that I have enough financial resources to hire a couple of part time developers to help in areas where I'm less strong. This means that for the time being I can continue taking this project (internally as a closed source project) in the direction I intend and finish more of the features I have outlined for without needing community support or patches (which will be very low for the first year as I've noticed from most other open source I've released, only 2 can count as having had some bugs reported and an occasional patch in the first year).

Now my intention is to open source the code eventually and GPL it. But for now, I'm convinced that delaying this step will protect the project from being absorbed into some kind of commercial closed source code and I won't be able to trace my code in it. Am I on the right track or can someone convince me otherwise.

+1  A: 

In my opinion companies won't notice a project until it gets popular. Therefore you should decide first whether or not you want it to release it to the community. Contributed Ideas could be more important, if it becomes a killer application you could still choose the same business model as other open source companies (support, consulting).

If it's different as with your previous OS projects don't ask anybody and trust your gut instinct.

stacker
+2  A: 

First, if your code is GPL, no-one can include it in their closed source program without breaking the law.

An argument for releasing the code as soon as possible is that marketing of open source projects is no different that marketing anything else: it takes time and effort for people and web search engines to notice your project. If you do want the project to have a long term future, the sooner you have code, web page etc. available, the better the chance that people will know about your project, use it and contribute to it.

On a personal level, it's a bad idea to worry about issues like that or have them guide your decision. I'm speaking as someone who's GPLed code was mis-used. A Chinese company used my GPLed PDF reader as a base for their closed sourced PDF reader. The thing is: even though it's illegal, they're in China, I'm in US so I can't do anything about it. Yes, it sucks, but at the end of the day, I can either let that consume me with bad emotions or ignore it. Second option is much more healthy.

Personally, I release most of my code under non-restrictive licenses like public domain or BSD or MIT, giving explicit permission to reuse it in closed source hence eliminating possibility it'll get misused.

Krzysztof Kowalczyk
The GPL is a *license*, not the *law*.. so taking your code and including it against your license terms is on par with someone downloading a movie.
CaseySoftware
Yes, but violating the license breaks the copyright law hence is illegal. So is downloading a movie, so you're right in the sense that they are both illegal activities, although hardly of the same gravity.
Krzysztof Kowalczyk