I'm wondering why some people release software as freeware, yet they don't release the source code. Why is that? I can think of some reasons, yet most of them don't make very much sense. Why would you want to keep the source closed but let the program be freely available (free of charge, not free as in freedom)?
Why freeware (closed-source) instead of open-source
free softwarefreewarelicensingopen source
Related Solutions
From an averarge user point of view, you only care for free beer. And you prefer usability to openness.
Even not taking them into consideration, programmers are the smallest group involved in the software market (just thing of management, legal departments, accounting, marketing).
And for all those people "free" means gratis, which is why the distinction is extremely important. Because there was proprietary gratis software out there prior to the definition of free software. For the lack of a better word, they went with free and they had to redefine it clearly. Freedom is priceless, while gratis software has a price of 0. This is quite a difference, because the latter can be thought of as purchasing a software (at no cost).
In its radicality, it was a fairly new approach (before software just happened to be free unintentionally).
It should be noted, they combine a lot of freedoms, which are orthogonal. Free in their understanding is not so much the opposite of closed source - open source is. Free is the opposite of proprietary: the software is not the propriety of someone, it is an non-owned good, that everybody can use in any way he pleases. However, from the perspective of a programmer, a gratis closed source software however can hardly be considered free, because only the source owners are free to modify it.
For example, there is proprietary open source software. It means, you get a software along with its sources, along with restrictions how you may use that source (exclusion of distribution might be one). And that software itself might have a price tag or not (the latter being unlikely).
In the web development scene, this is not uncommon, especially for HTML and Flash templates, which are sold as sources for further modification.
But I recall a case of proprietary gratis open source software: The Adobe Flex SDK (a framework, toolset and compiler to programatically create Flash content). Parts of it were distributed as source without cost, but redistribution was forbidden by the license (for some strategic reasons I suppose).
So while there is nothing wrong with software shipping without cost, and you may call it free if you wish ("normal" people will understand exactly what you say), the FSF claimed its own definition of the word, to encompass all the individual freedoms simultaneously, in contradistinction to software, that doesn't, and is thus not free in one aspect or another, or in their understanding, simply not free in contradistinction to their ideal.
Initial Cost has a role to play. Open Source is generally cheaper on both the hosting and the tooling. The only way that closed source competes is by trying to provide better tools, sometimes even free tools. If your input costs are low open source can be an excellent option.
Microsoft will give away the web developer version of Visual Studio to bait developers in, and then give them a beautifully functional environment that makes development easy. They hype everything up and keep new features rolling in.
Consider portability VS level of integration. Open Source can be very sustainable, because you can change out parts you don't like or parts that fall out of favour. With Closed source you are stuck.
Generally speaking Closed Source solutions are more tool focused and more integrated. Open source does not enforce use of any specific tools and represents a mix-in manner of solving problems.
The level integration in closed source can be high. For instance Microsoft provides
- The programming language (c#)
- The framework (Asp .Net)
- The Database (Sql Server)
- The Web Server (IIS)
- The OS (Windows)
With open source you can have any combination of operating systems, DBMS, framework and language. They are not tightly integrated, but they are portable.
Consider customizability . Closed source systems are not very customizable. They try to provide pluggable frameworks etc but mostly there are points where you get stuck. Sometimes they have a premium product that you then have to invest in.
Consider giant applications that need custom caching, database solutions, or even a customized OS to run. If you reach that point that your application is so massive that no prebuilt solution can deal, and you want to customise, open source will pay off.
Best Answer
Hmm, what comes to my mind is