tags:

views:

121

answers:

7

Hi all,

I designed and built a few projects (50k lines of source in about 50 projects) around the JBoss Seam framework that I use when building websites for clients. Essentially, I developed a content management system where different modules may be plugged in.

What would I gain by open sourcing the projects and how much would I lose?

If I open up the source code, the projects may benefit (reduced bugs, more efficient code, etc.), but at the potential loss of 3rd parties using the projects without going through me to build a website.

It might also be good exposure, to have my work and ideas out there.

Any thoughts?

You guys have lots of good answers, so hard to choose one - I am making it a community wiki.

Walter

A: 

There will always be someone out there that can black-box reimplement your system from the ground up. Why not have them find bugs in the existing system instead?

Ignacio Vazquez-Abrams
+2  A: 

I would say that it depends on what you're already getting out of it. If your product is already selling and doing well, you may not want to open source it for the reasons you said - third parties won't have to go through you to build a website. Of course, you could make money in a different manner (AKA, providing support to your product).

As to what you'll gain - you may gain those things that you said, but that's not necessarily true.

If I were you, I would decide to open source a project because you want to share it with the community and want to get a wider range of individuals using it.

Edit: Something else you could do...open source it but put a more restrictive license on it (GPL3, for example) and this will help proliferate open source. Of course, that may also deter individuals from helping you with the project.

JasCav
+1 for the initial motivation having to be wanting to share. At first, very likely no one will take notice of your project, so do not expect bug reports and such. Maybe your clients will take a look, if they have tech people on staff. If you are lucky, it might get picked up, which will give you name recognition, which could be good for your business.
Thilo
As a Developer, I always prefer to develop a product rather than supporting older versions of the product.
Algorist
A: 

your gain depends very much on the code. if it's good, people are maybe going to report bugs, send in fixes and so on... it could really be a popularity booster.

A: 

Find a middle ground - free to individuals, paid to companies, come up with support plans. Offer 30 days trials risk-free. Make filing bugs easy. The free folks will be your free QA. Ranorex tool is like that. Good marketing takes some fine decision-making.

Hamish Grubijan
A: 

IHMO exposure should be your #1 reason in this case. Don't expect a lot of contributions, patches and fixes if your project isn't really interesting to the community. For it to be a successful project you'll have to invest in it and promote it maybe.

You could opt for a more restrictive license like GPL to prevent third-parties loss to 3rd parties; at least they wouldn't be allowed to do that without opening up their source and contribute back to you.

botteaap
A: 

Opensourcing the project will also bring you in contact with other developers.You can also market yourselves well by including the project in your resume.

One more thing if you want to sell this project then create 2 versions of it. 1st version open source it (may be the basic version - issue with a licence where people can use but not modify) 2nd version implement as commercial (with added features / added support etc and charge for it)

Rajat
If you cannot modify the project and release the changes at least under the license that project is not open-source. But your suggestion in general is an often taken path.
Mnementh
A: 

It depends on how good / useful the project is and how much buy in you get for it.

At one end of the spectrum you get a bunch of recognition, at the other the code festers away in obscurity and you get nothing.

Generally though you're going to have to put a lot into it as an OSS project to get anything out and if you can't or won't make that commitment probably best not to go down that road.

In terms of what you get / lose by essentially handing over your intellectual property, I'd see that, in this instance, as slightly secondary. Knowing the code better than anyone else in the world (and that's likely to remain the case) you're always going to be able to take better advantage of it that your competitors.

In addition you're likely to pick up more business than you lose as if you promote it well you'll be "selling" a bigger known product to clients but one where people will by preference come to you as the acknowledged expert on it.

Jon Hopkins