Why would someone decide to distribute something freely? What are the benefits to the creators of a programming language or open source software if it's free (for example, php is free, and needs no license fee like visual studio)? Is it purely altruistic? Is it done for moral reasons? Or is it a business decision? Are there moral reasons for (or benefits to) open sourcing?

  • 1
    It's an interesting question in a sense, but there's no question about philosophy in it. It seems to be more about what would motivate someone to give something away on a practical level (rather than asking about the possibility of true gift or altruism).
    – virmaior
    Commented Jan 20, 2016 at 13:18
  • Or maybe to word it more clearly, there's a philosophical question about whether altruism or "true gift" is possible (which doesn't seem to be what you're asking about) which would not be answerable in a SE based format. and there's a practical quo bono that isn't a question about philosophy. I'm not sure which you're angling for but the only SE-answerable question about philosophy might be "what are the different theories about altruism that are prevalent in contemporary philosophy?"
    – virmaior
    Commented Jan 20, 2016 at 13:42
  • This could potentially be three different questions: 1. What are the fiscal benefits of developing open source software (how do you monetize your contribution)? That might be answerable on money.stackexchange.com or economics.stackexchange.com . 2. What are the practical benefits of the open source model in software? That might be answerable on cs.stackexchange.com. 3. What is the moral benefit of open source software? The last one could be a Phil SE question. Given that, I edited your question to focus on that last interpretation. Feel free to revert if it isn't right. Commented Jan 20, 2016 at 14:33
  • FSF's definition of "free software" (gnu.org/philosophy/free-sw.en.html) is strongly linked to their of libertarian ideals (in the philosophical sense) -- a question/answer focused on this aspect of the movement might be on topic.
    – Dave
    Commented Jan 21, 2016 at 14:14

1 Answer 1


I am not sure if this is the right place to ask, but I think I can give you an answer to this question.

Some details

First of all, Visual Studio is an IDE (Integrated Development Environment) which costs money, the programming languages are actually free. For example, VS is often used for C# development, but you can just install csc.exe without needing visual studio.

Programming languages are almost always free to use, the tools are often not-free, but you can find free IDEs for most popular programming languages. In addition, you don't need to use an IDE, I have used notepad when I was on a machine that did not have an IDE and I quickly had to test something.

Something to keep in mind is that when a programming language is NOT free to use, it means that the compiler is not free to use.

The benefit of a free programming language

First of all, when your programming language is free to use, which essentially just means the compiler / interpreter is free to use, it is easier to have a wider adoption of your programming language. You can then earn money from selling an accompanying IDE. But take note that even in this case, people do not NEED to use your IDE. You'll have to provide a good reason for them to choose your IDE, and free IDEs often get a plugin for your language. (Look at how Eclipse started supporting more and more languages).

The benefit of an OpenSource Programming Language

This is something different than the previous question and what I actually think you are trying to say. When a programming language is open-sourced, it means that the community can contribute to the language and you get the advantage of a lot of passionate people helping to build a great tool. This way, people who like your programming language because it has some features they like or because it is popular in a certain domain, will contribute back to the language and it will keep becomming better. Or at least, it will evolve.

Currently, because a lot of languages are already OpenSource, some people might really like 95% of the language but 5% they think should be different. It's "easy" to build your own language based on the already existing OpenSource language, but can have the restriction that you are free to adapt the language BUT, every adapted languages needs to be OpenSourced as well. This is a way for the 'original' language to ensure that no one will release a commercial version of the programming language.

And why do people do this initially? I think there are subjective reasons here. I prefer to share my code and make it open source, because I believe that first of all other people might benefit more form it than I will. Secondly, I think that code should be like mathematics and should be 'public knowledge'. But this is personal.

And why do people contribute to OSS projects? Well, once again, this is personal, but when I contribute to OSS projects I do so because I like the project and I enjoy programming. It can just be fun to solve some challenging problems on big software, it's like a hobby.

after writing this, I see this really has nothing to do with philosophy and the question should probably be moved to an appropriate SE site

  • Please move it to an appropriate site. Commented Jan 21, 2016 at 8:22
  • @KhairulHasan By all means should this question be moved by an admin rather than put on hold. But I don't know how to do this :-) Commented Jan 21, 2016 at 8:27

Not the answer you're looking for? Browse other questions tagged .