Well that is a friendly statement to make to begin with, so thank you.mor wrote:Don't get thrown off by his somewhat harsh tone, he means well.
However.....
Yes I've realized this and I realized this before I was being spoken to in this sense, here.And what he meant to say, I believe, is that using Free Software and Open Source interchangeably leads to confusion.
While Free Software is the ideology that promotes and advocates for the liberation of code from proprietary licenses that restrict the freedom of users, Open Source is a developmental model, a way to work on software projects if you will.
Ideology on one hand, developmental model on the other.
Sure, but in practical terms that distinction is moot. Of course it does in fact mean that you can "develop closedly" until you release, as you say. And that takes away some concern, but I do not even mean to develop closedly until I release, and what is release? Practically, this would imply not ever showing any public person or venue any of your code, or product, in the meantime? Practically infeasible. Because, any such release would invariably, probably, imply having to meet the terms of the license, even with some temporary, "inofficial" release.Open Source in fact, does not imply the ideology that is pushed on by Free Software and doesn't guarantee from final licenses being proprietary or non completely Free.
While any software to be licensed as Free has to have the source code available, it doesn't mean that the development process of said software had to be of the open source kind before releasing and licensing.
The GPL does not talk about releases. It takes about propagation and conveyance, whatever the distinction may be.
So although you would be "protected from theft" as long as you don't "propagate" or "convey" anything, since other people could then only take away from your finished product, that has, at that point, already been released (hopefully). It does imply that any intermediate version that you might show to anyone (in public) can also be copied at will, and if you do this more than once, you entire source will be available under GPL regardless, at various times, and inevitably, in whole, prior to your actual first release date. And of course any subsequent versions would fall in with the same.
That means your development would be hidden but any intermediate milestones would be GPL, and public, and in agreement with those terms, if you have it that way.
For me this distinction is at the heart of my contention with GPL, so your statement does not make sense here. My contention with GPL is that even though I want to be open source, the moment I want to cooperate with GPL code, I am in trouble. You also know very well that in the minds of the public (if they are aware of it at all) the phrase or term "open source" indicates this complete system. The impression is made, that "open source" and "open source" work well together. In practice there is a lot of strife between different open source licenses, such as between BSD license and Apache license and GPL.As you see, there is some overlap between the two worlds, but the fundamental difference cannot be overlooked as you did even if, as you explained, you wanted to refer to the larger F(L)OSS cluster.
So of course, I know the practical and structural distinctions, but in practice the result is interoperability or lack thereof. In practice GPL versus other "open source" licenses is like oil vs water. GPL is the oil that tries to separate itself.
I don't think I need to understand these issues beyond what I already know, unless you really have clear, correct, to the point, and reasonable complaints, or distinctions to make, that actually have practical relevance as to my own case here, which is the topic and subject of my disagreement with it (GPL). That means, that if you are the wise person who has read these documents you espouse below, you can be the person making these arguments, and you do not need me to do your work for you, or to imply that once I have read these documents, I will invariably start to agree with you, which is deeply condescending of the nature at hand here, and of my right to disagree.Understanding this distinction well, would help you a lot in understanding the issues you are complaining about.
In general you cannot use documents written by others, or written by yourself at some other time, to make arguments for you as if the reading of such documents would invariably cause agreement with your statements. That is never true, and it is the condescending thing that people often do.
If you had read those documents yourself, you could make the arguments that you say they espouse, directly to me. Seeing that you do not, I don't think they are there.
So I will uphold my statements about GPL. And yes I am thinking about becoming a lawyer some day .
So here you see the all or nothing nothing. The only thing that agrees with GPL, is GPL itself.The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree. While we can distinguish various nonfree distribution schemes in terms of how far they fall short of being free, we consider them all equally unethical.
In Java terms:
Code: Select all
interface License {
boolean agreesWith(License l);
}
class GPL implements License {
boolean agreesWith(License l) {
return l instanceof GPL;
}
}
Personally I reserve the right of distribution until such time as that I may not consider it necessary anymore. Particularly, I reserve the right of modified distribution (or) under a different name. For instance, if you wanted to distribute a modification that would take away from the core nature of my program, I would object. This is because it would blemish the name of the program, and could be considered to be identical to the requirement to credit the original authors. At least, preservation of author contributions may be a separate term under section 7, and I believe it often is.
Interesting to note that the GPL is itself not GPL, because you cannot modify it .
Requiring a changed name is in agreement with GPL. Requiring author attribution is in agreement with GPL.
However, taking a program, and then deviously changing core attributes of the program, and then releasing it on public platforms, with more leverage than the original author has, only to thwart that original author, is also in agreement with GPL.
Most notably, people may have different opinions as to the quality of user interfaces. They may have different opinions as to the ethicalness of certain usage strategies. If you do not want the program to do something for whatever reason, for instance because you are in the process of developing something that would supersede that, or because it would sacrifice the nature and identity of the program, or because it would vastly increase the complexity and thus user-support nature of the program, which is not an uncommon case, I think, you would no longer be in agreement with GPL or what GNU considers "Free" software.
Most notably, not at all unimportant, the GPL requires you to specify a voiding of all warranty. Of course you could license it differently, but not if you incorporated code form others, and those others did not agree to also release their software under your license. What if I do not want to void all warranty?
Now suddenly I cannot do so. In general the statement comes down to "void all warranty except as required by law" which makes it untenable to begin with; in that case you would be better off informing your users as what those requirements by law could be. You create a lot of problems for people in litigation, because a clear understanding of the law in your locality would probably introduce a lot of categories for which the authors WOULD be responsible, or could be considered responsible, under law, depending on how that works there and whether there have been previous attempts to enforce such "rights" for users.
So for me, I consider it much more ethical to explain the warranty that I feel should be in agreement with what I think a software should have. For example, I should not be allowed to give the impression that my software is suitable for a certain purpose, other than by the messages on the software itself, such as by my mode of promotion, messages I state on websites, etc., that could form an opinion or impression with the public that my software would be suitable for something, and then subsequently, this would not be true.
I can make the example about Mozilla products, but I am not sure it is wise to do so here.
Particularly it means I will not falsely advertise suitability for certain purposes, and then in my license state:
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Which is just a scam. First you say "my program can do this and that and it is amazing" and then you say "oh, but if it fails to do that, I am not liable".
This is called false advertising which is unlawful to begin with, and in Dutch we call it "dwaling" (legal term).
Purposefully, I intend to make my program so good that it will not require support, and if it does require support, I intend to provide it. The free software philosophy apparently means to make crap software, and then void any responsibility for it. I do the opposite: I make something amazing, and then take responsibility for what I do, or have done.
However, what do you think is going to happen if someone forks the program, introduces complexity they cannot support, or guarantee the quality of, leaves "support" to some mailing list or forum, and at the same time, the program is still identifiable, in some way, as my thing?
Now you have to be the asshole to those people saying "sorry, that version is not supported". You will constantly be visited by people asking support for features you did not want.
You will constantly be questioned with such things as "why don't you introduce that feature, that fork has?". "I think you are a lousy developer, fork is better". You know that is going to happen, it happens even now.
Now suddenly you have to defend yourself, because someone else took his product and made it his own, and a wagonload of morons and idiots that mostly use it because they would have relicensed it under GPL, or, if it already was GPL (which is the case here I guess) because it agrees more with their bad design schemes, are now going to constantly assault you to make you look bad in the eyes of other people, as they habitually do and have done with OpenOffice.
Do not think that open source people (or floss people, or whatever) are beyond devious schemes, ego-based competition, and general vileness in combating your product because they compete with it.
They fork it, but they instantly become a competitor. And though often times direct money is not involved, indirectly it always is. There are going to be people offering support contracts for said software. There are going to be people that want to be listed as main authors, to get a better job in the real world. There are going to be people that want to obtain reputation within the FLOSS world, in order to leverage more power, or to be able to make more decisions, or in the end, to monetize their reputation.
So your "fork" is going to try to fight you. Combat you. Vie against you. Compete with you, and do the stuff people do in competitions in order to come out on top.
Then, after they've destroyed you, they will claim that their product is being developed faster than yours. That theirs is the better product. You can see it between OpenOffice and LibreOffice, the vileness that has been espoused, completely. When you say anything good about OpenOffice in public, these days, you become the target of aggression, vile attacks, character assaults, and whatnot more. Yet even Mark Shuttleworth, no matter how much you may dislike him, has shared his opinion on this, even though at the end they assimilated LibreOffice and dumped OpenOffice. Which was also the source of my knowledge on this, and it made perfect sense to me, because that is what I see people do in F(L)OSS. [[ I am going to dump "FLOSS" though, I will just refer to it as FOSS, because what GNU says about the "open source" camp is irrelevant to me. ]]
I do not wish to be the subject of such attacks, and so I will reserve the right of distributing modifications, such that such issues never even arise.
Then, even if people still do it and I cannot defend against that (but no mainstream project ever would) at least I can tell everyone that I did not intend for this and that I am not responsible for what they do with it, and that I consider it theft.
The point will not really be modifying it for your own purpose. The point will be creating a competing product based on my work, time and energy, and efforts, and then using that competing product to destroy me, in essence. That is why I espouse a dislike of GPL. And why, in a general sense, I despise it.
Sorry if this opens up another can of worms, I was not meaning to write this, to begin with, in this way (the just above).
GPL is about the freedom of other people to take your work (steal it) and make it their own.
It does not protect the rights of other people to control their own work. Even though it is considered a copyright license, but a twisted version of it.
In a general sense, it takes away your freedom to make any choices about the work you promote. For example, you craft a table, but you are now no longer allowed to make any choices about that table you just crafted. In principle, if someone manages to invade your home, steal your construction plans, and run off with it, they can now make a competing table that does the same, without ever having had to invest the same time and money in it, in designing it.
So GPL quietly voids a right to a return on investment. It voids the rights to be the sole beneficient of the work you put in yourself, because even though FOSS is usually not about money, in the end money is always involved.
So what GPL really does, in my opinion, is to dissuade spending time on design or development and to promote quick releases that have seen little development because the first one to publish something, gets the credit for it. And it's all about credit here. It is all about ego.
In FOSS, it is all about positioning your product within the landscape so as to become irreplaceable. Then, if no one can get around your software anymore, and you are the one with the fastest development pace (and the most releases) no one could ever fork it in a way that would take away your momentum, because your software keeps seeing releases continually. And then, even though people may dislike your software, seeing that it has already garnered (open source world) support, you have become such a power house that you get to direct the direction of the entirety of Linux (think SystemD). Because in order to "void" you you now have to create a competing product from scratch while no one cares enough to actually do it. You cannot fork SystemD because it is already a monster, the fork would also be a monster. You would have to refactor it completely, split it into components, etc. etc. I can be done perhaps. But it is not the same as forking a well-designed product that can already form the basis for something great. The reason SystemD cannot be forked, is because it is so bad.
So GPL dissuades well thought-out designs. Someone might come and design a crappy product based on your designs, and then release it. Now their release will garner popularity before yours can, because they have spent less time getting to the finish line.
It is not realistic to assume you can completely design it in-house and closed-source, before releasing under GPL, when you still want to cooperate with the open source world.
You want to be able to share your designs and ideas and garner support without other people taking it and running off with it, and then creating their own product based on it, leaving you in the dust, before you have even finished yours. Foremost you want to be the first to publish, and distribute for real. GPL only protects this if you develop closed-source, which means it does not protect it at all. I'm sorry, I am going to cut this short now.
I feel a person should not really have the freedom to destroy someone else or in a general sense I should have the freedom to defend against that. And GPL takes away my freedom.
It takes away any form of "ownership" even though it is nothing more than a form of stewardship, and I want to protect my software as a good steward.
Under GPL, other people can ruin your software, and as a good steward, you would not allow that. I say these things because I care about my software, and others may not.
Anyway, time to quit this. See ya.