5

So, I have a couple of projects that I have been working on and I am trying to decide if I want to open source them or provide them for free as closed source.

I have never "owned" an open source project before and I would love to hear thoughts on the pros and cons of both options. Any horror stories of deciding on either approach are acceptable too.

Adam
  • 1,093

5 Answers5

7

The big question you have to answer is what you think you gain by protecting them, because the gains from open-sourcing can be numerous.

If the product is good, you will build a community of people willing to maintain it for you. Bugs will be found and fixed before you even run into them yourself.

You can use it to promote yourself when you're looking for a job which actually pays the bills.

In some cases at least, you can sell support and make a really good living off that.

pdr
  • 53,768
6

The worst thing, that could happen to you if go open source is, that someone forks your code, and creates a project that is more successful. This requires the two of you to have fundamentally different oppinions about where the project should go.
Firstly, this is not much of a risk, and secondly, I think not much is lost, if somebody successfully uses some of your code to achieve something else than you intended. It's what open source is about. Create free code, that somebody else can put to good use.

The worst thing, that could happen to you if you offer a proprietary software for free, is that it becomes popular. You will have a big user base with a lot of wishes and complaints. Even though they didn't pay for your software, they expect support, bug fixes and new features.
That being said, you can still open source it at that point. Or you can try putting a prize tag on it. However this will cause a lot of displeasure among your users and comes with a lot of overhead (accounting, legal stuff, etc.).

The best thing, that could happen to you if you offer a proprietary software for free, is that it becomes popular. Appreciation is basically the ideological reward you're looking for, if you give something away for free. However, it comes with its burdens, as stated in the paragraph above.

The best thing, that could happen to you if you go open source, is that it becomes popular. You have the same ideological reward as with proprietary software, all the while you get the advantages of a successful open source project: user contribution.
And yet, monetizing the project is still an option: support, training, getting paid for features, enterprise licences (open source doesn't need to be gratis).

A likely thing to happen, is that your project doesn't really take of, and only very few people use it. This is the case for the vast majority of software for free, because the least of them are reaching the critical user base for word-of-mouth-propaganda, and even less of them are advertised.

back2dos
  • 30,140
2

Distributing them as Open Source can have great benefits.

  • Improving software quality: By giving the source code to the community everyone is able to contribute to your project so that your software keeps improving continuously.
  • Better acceptance: People often are rather willing to trust open source software since they can look 'under the hood' to check what's going on there
  • Direct Feedback: You can get direct feedback from the community correcting and improving your work. You can use this to gather further experience
  • Inspiration for others: Interested developers can grab your source and learn from your work.

Furthermore, I don't see any point that should prevent you from publishing your software under an open source license as you want to distribute it for free anyway. So why not releasing it as open source? Are you embarrassed of your own code? ;)

Ham Vocke
  • 2,467
2

There are two kinds of Open Source projects:

  • Projects intended for end-users. These require intense nurturing and in that case you would not be in doubt.

  • Projects intended for other developers. These are usually libraries serving a specific purpose, which said developers do not want to do by themselves for any reason what so ever.

I believe your projects to be in the second category. Here I can frankly say that given any two similar projects, both free, but one with source and the other without, I would without a blink take the one with source.

The reason is that I know for a fact that some day I will need to one or more of

  1. circumvent a limitation - "Ah, I can use my class if I make it implement Enumeration()"
  2. figure out how to trigger specific behavior - "If I set THAT variable through reflection this code will be run"
  3. simply fix bugs

In any of these cases, having the source is crucial to success or failure, as this usually is under time pressure.

2

I, for one, support closed-source software. There is nothing wrong with treating software as a product. After all, software is considered to be intellectual property in most jurisdictions; therefore, the creator is entitled to profit from selling it if he/she desires to do so.

Giving a closed-source product away and charging for support is great business model. It is a much better business model than opening the source and charging for support because one is not helping one's competitors.

bit-twiddler
  • 2,658