In a paper that I read recently, the authors promote their software as open source because it was released on GitHub under the Apache License 2.0. However, the software is an add-in to a proprietary (closed source) and non-free software. Furthermore, it was developed using C# and the .NET Framework, which, historically at least, has not been considered open source or free software. Based on this, is it really correct to label this add-in open source software?
closed as off-topic by fixer1234, Thomas Dickey, Ramhound, n8te, bertieb Aug 6 '18 at 9:41
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "This question is not about computer hardware or software, within the scope defined in the help center." – fixer1234, Thomas Dickey, Ramhound, n8te, bertieb
The answer to this is a somewhat hotly debated topic... perhaps mainly within the Open Source Hardware community.
Fundamentally - "Is it permissible to refer to a project as open source if the tools required to edit / build the sources are not themselves free for use?"
- Projects with build-time dependencies on tools that are not free-to-use (e.g: hardware projects designed using Altium)
- Projects with run-time dependencies and operating environments that are not free-to-use (e.g: software projects designed for use on Windows)
In my mind, if the answer was "No", then an extreme example would be that any software that only runs on a non-free operating such as Windows cannot be referred to as "Open Source"... Even if it could be run in an emulated environment such as Wine, it wasn't designed for this usage.
However, my view is that if the sources are open for anyone to inspect and review, then "Yes" it's permissible to refer to the project as "Open Source".
Bear in mind that the "Source" in "Open Source" is referring to the source files - the original component parts of a project which are used with various tools to produce a usable end result.
- Application source code
- Build infrastructure or scripts (e.g: Makefiles)
- Project files (e.g: VCProj)
something people can modify and share because its design is publicly accessible
Note that the C# tools and .NET are indeed "free-to-use", but they are "closed source":
Visual Studio Community 2017
Free, fully-featured IDE for students, open-source and individual developers
Based on the information you give, the add-in is absolutely free and open source. The "free" part is the fact it is licensed under the Apache license. And it is open source as they are offering the source code.
The fact that the add-is made for a non-free closed source application is irrelevant. That application is a completely different entity and has no bearing on the add-ins "freeness" or it's source. The same goes for the programming language. You are able to take the add-in and redistribute it under the terms of the Apache license and modify the source code which is given.
If somebody says anything is "open source", you should ask yourself, whether you are able to look at the complete code this product consists of. If the answer is yes, than it is indeed "open". Of course, the OSI has a clear definition of "open source", that give you a lot more rights and takes away many restrictions. "Open source" is generally viewed as less strict than "free software" based on the definition by Richard M. Stallman and the Free Software Foundation. Some of the reasoning from his point of view can be found here.
I would say, in your case, the software seems to be actually open source in the OSI sense, because the license gives you all the rights. That the software isn't much help without the .NET Framework is another story - you can still use the software without legal restrictions to .NET Framework. You may have a look, maybe the add-on itself could be actually run with .NET Standard, who knows - but this doesn't change the fact, that it most likely is "open source". I wouldn't got so far as to describe it as free software, because I don't know how the program treats its users. There I don't necessarily agree with @keltari .