Once again I wish github would allow the ability to limit who could open issues and PRs in order to do development in the open with a trusted/vetted set of collaborators without being subject to every zero-effort bug report from users.
You can already turn on repository interaction limits limiting issues/PRs to collaborators. It needs to be re-enabled every 6 months https://docs.github.com/en/communities/moderating-comments-a...
It's not the same thing, because of the flow:
- developer finds a cool project - developer consumes the cool project - developer finds opportunity for bug fix or enhancement - developer forks and starts working on the enhancements - developer spends hours/days writing code - developer submits a PR - developer gets a notification (upon filling the PR, or after, from a bot) - developer is now extremely frustrated - developer complains - maintainers and the developer start debating - the Pull Request storm goes viral - developer threatens to stop using cool project - maintainers handle the situation poorly (they are coders, not Public Relations people) - the community makes things worse
And so on...
I don't understand. You have "developer forks". Everything after that is irrelevant. That's the whole point of open source.
On GitHub a fork is a lightweight thing. People fork the repo in order to contribute because they can't push to the original repo. It's not like you are philosophically against Emacs and decide to fork it to produce XEmacs.
Just as I don't understand the original comment, I also don't understand yours. You don't need to push to the original repo because open source allows you to make your fork available to others. The developer of the original has a right to decide to accept your changes or not, so I fail to see why it matters that your PR isn't accepted.
Maintaining a fork and maintaining a single feature of a project are two different levels of commitment and you can want to do one without doing the other although all too often people want to contribute a feature and then not provide support for it and expect the project maintainer to now maintain the contributed code. But that's a different issue (and why many maintainers sometimes don't accept random PR's even if the code itself is fine).
> You don't need to push to the original repo because open source allows you to make your fork available to others.
This is simply not true - not all open source software is copyleft. You can have restrictive licensing regarding use and/or distribution and still be open source.
> This is simply not true - not all open source software is copyleft. You can have restrictive licensing regarding use and/or distribution and still be open source.
Well, of course you can adopt any definition of "open source" you want, but I'm using the OSI definition, which states:
"The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software."
You are referring to "source available", for which they offer the clarification:
"Open source doesn't just mean access to the source code."
There is a reason FLOSS exists as a term to differentiate itself from OSS and I think the ideological differences between the two are important. So does Bruce Perens, the co-founder of OSI and the author of the Debian Social Contract of which the OSI definition was based off: https://web.archive.org/web/20140716055445/https://lists.deb...
This was back in 1999 - it's been over 20 years and "OSS" has only been muddied further and further to mean "source available" since.
Pedantry aside tremon's response sums it up well: "Feature branch hosted in a separate repository."
Where is this muddying happening? The only place I've noticed it is on HN, where others always correct the poster by pointing at the Open Source Definition.
Maybe it is time to ditch both "open source" and "free software" and go with something that has a clear meaning that isn't possible to muddy, like "libre software", prefixed with "always" for copyleft licenses and "currently" for permissive ones.
Those who sit on the Open Source side of things constantly muddy the waters and claim they are one in the same. Those who sit on the Free Software side of things are adamant that they are related but different.
https://www.gnu.org/philosophy/open-source-misses-the-point....
The important bit is here:
> “Free” and “open” are rivals for mindshare. Free software and open source are different ideas but, in most people's way of looking at software, they compete for the same conceptual slot. When people become habituated to saying and thinking “open source,” that is an obstacle to their grasping the free software movement's philosophy and thinking about it.
I meant to ask who is muddying the waters by claiming that "open source" == "source available" rather than the Open Source Definition published by OSI?
Ask anyone who is not already heavily involved in open source software development. They can still be technical users - hell they can even still be programmers - just not already entrenched ones. You're going to have to correct them and go "No I mean this" in the same way that the Free Software movement has to correct people with "Free as in freedom, not as in beer."
See the "Common Misunderstandings of “Free Software” and “Open Source”" section of the article I previously provided. This is a known issue by both OSI and FSF.
You're bordering on tautology.
> Ask anyone who is not already heavily involved in open source software development [what "open source" means]
Where's the shock? Asking anyone about something that they're uninformed about and expecting an informed response is silly.
Does similar confusion exist when asking people what the Childhood Cancer Data Initiative or Sustainable Energy Initiatives are about? Do you think there is a similar level of misperception among laypersons about the meaning of those initiatives? The common misperception regarding "Free Software" is that people think it means "gratis" rather than "libre". The common misperception with "Open Source" is that people think it means "source-code publicly available". But if the argument about common misperceptions being muddied water is not entirely convincing for you we can take another look at how the terms are defined.
The Free Software Foundation disagrees that "Open Source" and "Free Software" are the same thing. The discussion about whether they are the same thing should end there if we are to accept that the authority defining "Open Source" are correct in their definition of "Open Source". The same credence should be given to the authority defining "Free Software" providing the correct definition of "Free Software". If we are to accept both of these definitions as given by the authorities defining the terms - then they are necessarily different because the authority defining one of the terms says so despite any attempts of another authority who did not define the term at claiming otherwise.
In other words: X defines X and says X = X and X != Y. Y defines Y and says Y = Y and Y = X. Since X defines X and Y does not define X we must accept that X != Y per X's definition of X despite Y's attempt at redefining X such that Y = X.
It's uncharitable to point to OSI's definition of "Open Source" and OSI's claims that they are one and the same while completely ignoring FSF's definition of "Free Software" and FSF's claims that they are different.
> Does similar confusion exist when asking people what the Childhood Cancer Data Initiative or Sustainable Energy Initiatives are about? Do you think there is a similar level of misperception among laypersons about the meaning of those initiatives?
I think most lay persons, upon being informed of the existence of a "Sustainable Energy Initiative", would readily admit when pressed to a lack of sufficient familiarity with the subject that would allow them to answer with confidence about what does or does not meet the standards of being deemed "sustainable energy". Likewise with anything involving "cancer"—most people cannot define it.
But this is beside the point, because we're not talking about the work activity of the OSI. We're taking about the definition of "open source". This is not the first instance of your moving the goalposts in this discussion.
> The common misperception regarding "Free Software" is that people think it means "gratis" rather than "libre". The common misperception with "Open Source" is that people think it means "source-code publicly available".
Right. The key thing being that those are misperceptions.
Misperceptions about the distinction between "cancer" versus "viral infection" versus "bacterial infection" would not lead us to say that because the public does not have a good understanding then the definition of "cancer" changes to something that it isn't.
> if the argument about common misperceptions being muddied water is not entirely convincing
That's not what's at issue.
> The Free Software Foundation disagrees that "Open Source" and "Free Software" are the same thing.
The FSF agrees that the definition of "open source" is the one that was formulated at the end of the last millennium; the FSF doesn't disagree with the OSI about the definition of "open source".
We started with your claim from the ahistorical definition of "open source" that a given project may not actually permit people to make their fork available to others. Any argument you make here needs to support that.
So far, you're making a lot of facile "water _is_ wet*"-style observations and, I dunno, hoping that no one will notice that that was never the point of contention.
* Try substituting "FSF was founded in 1985" (or any other factual statement) here that while true nonetheless has no bearing on the actual substance of the current dispute, despite whatever surface-level relevance it may appear to have to someone who is only halfway paying attention.
I made my point incredibly poorly as I was a bit pressed for time. My bringing up other initiatives misled you as to the point I was poorly trying to make. My point was that laypersons know what the words mean - there is no "aha, it actually means !" in the words "childhood cancer data". If one knows the words "childhood", "cancer", and "data" they can accurately guess what "childhood cancer data" means and that is not the case for "open source" which has an obvious meaning in plain English which is also not what it means at all.
How people use words matters almost as much as what those words mean - and meaning can change because of how people use words over the course of years, decades, or centuries. Pointing at a dictionary is only useful when clarifying which meaning is being used.
> That's not what's at issue.
Then what is the issue, if you don't mind me asking? The issue as I understand it was what was meant by "open source" and my not already prescribing to the OSI's definition of it. Pointing to the OSI's definition cleared the air about which definition was being used but did not resolve the issue that the phrasing is easily misunderstood outside of the OSS community and is the reason the term "FLOSS" exists to circumvent the issue. The fact they had to specify the definition as defined by OSI and not "source available" is part of the issue. That this misperception exists at all is part of the issue. That the OSI has had to plea with people to please use the branding how they want it to be used [0] is part of the issue. That it is not totally uncommon to see "open source" to only mean "source available" is part of the issue. That "open source" has an obvious plain-English meaning separate from it's "intended meaning" is part of the issue. This is an issue that has existed in the community for the entirety of its 23 years of existence, been spoken about at length by both the OSI and FSF as being an issue, and some people are acting like it's the first time they've ever heard about this being an issue or even denying that it is an existing issue at all.
I'm not sure how many articles from community leaders and the very people who defined the words in the first place speaking about the issue being an issue I need to cite before people go "OK maybe it is an existing issue and not just Nadya saying it's an existing issue when it isn't."
To actually and intentionally move the goalposts this time: It still isn't even logically sound that because you're able to fork and send a PR on Github that the project is "open source" to begin with and it especially doesn't follow that the project is compliant with OSI's definition of "open source". Per my understanding of the Github Terms of Service Section D Parts 4-7 the license given to other users only extends so far as to their using Github's functionality (including "forking") - which I'm reading as not providing any license to compile or redistribute modified source code compiled into an executable. Making sending a PR possibly the only reasonable method of ensuring that a fix or feature makes it to end users.
Even worse is that "free software" has a vastly different meaning to a layperson, who probably think mostly gratis before they think libre when they hear "free".
It might be time to start using more descriptive sentences like "source code available under a proprietary license" or "libre software that can be made proprietary" or "software that is perpetually libre" instead of the "Free Software" and "Open Source" terms.
The problem with "free software" definitely exists as well but the intended meaning is still a plain English meaning of the word "free" but not the first one that comes to mind. Making it easier to correct "Free as in freedom, not as in beer." than "Please read the OSI definition of what 'open source' means." or still a bit confusingly "It's actually about the licensing of the source code and not the source code itself."
I agree it is still a problem - which is why "gratis" and "libre" see use to prevent the confusion and why I prefer the term "FLOSS".
> It's actually about the licensing of the source code and not the source code itself.
This is a big misconception. The Open Source Definition requires source code, you can't have an "open source" project that just releases binaries under the BSD license for example. The OSD (and the Debian Free Software Guidelines that the OSD is based on) is about the software and its attributes, including both the source code and the license.
The big misconception you speak of is being that the requirement is met if a is released under a FOSS license but that isn't at all what I said. I said the licensing of the - not of any compiled binaries - is what matters. Swapping for of course entirely changes the claim being made. The freedoms afforded by FLOSS licenses necessitate the availability of the source code as a pre-requisite to being met. So one does not meet the terms of the license of the source code if users cannot study/modify it and cannot distribute modified versions of it on account of not being able to modify it due to not being able to access it. Access to the source code in FLOSS licenses is intentional but also a side effect of the freedoms already afforded. There is no 5th freedom requiring the source code to be available because it already must be available in order to meet the requirements of freedoms 2 and 4.
But I'm still entirely wrong.
I'm completely and unequivocally wrong due to two other requirements - both of which actually pertain to the source code and not its licensing. There are in fact two requirements placed upon the source code itself to be considered open source under the OSD or even as free software as the FSF defines it. (1) It may not be deliberately obfuscated. Which makes me wonder if programs written to be deliberately obfuscated are technically not allowed to be considered free-libre or open source software? Such as programs written to compete in IOCCC or if the intent here matters and it's more about releasing obfuscated versions of source code that was not already written to be obfuscated and was made obfuscated with the intent being to prevent others from studying/modifying it. That one I think is a bit of a technicality. (2) The other being that the source code, if not released with the program, must be available in a well-publicized manner at no more than a reasonable cost of distribution/reproduction (ie no charging $1,000 for access to the source code to claim it's "technically available").
> freedoms afforded by FLOSS licenses necessitate the availability of the source code
This isn't really true, security researchers, reverse engineers and piracy experts often do the equivalent of the FSF four freedoms without having the source code. Of course not having the source code makes it harder for people without those skills and without the often costly proprietary tools that enable this work.
It is possible as a technically skilled person to write a binary in machine code, without any assembly or "source code" or other primary format. When an FLOSS license is applied to that binary, it should be considered Free Software. An example of this is the hex0 binary of the stage0 project, which is the first piece of code run by the Bootstrappable Builds project, which aims to build an entire Linux distro starting with only the ~512bytes of machine code in hex0 plus all the necessary source code.
https://savannah.nongnu.org/projects/stage0/ https://github.com/oriansj/stage0 https://ekaitz.elenq.tech/hex0.html https://bootstrappable.org/ https://github.com/fosslinux/live-bootstrap/blob/master/part...
> Which makes me wonder if programs written to be deliberately obfuscated are technically not allowed to be considered free-libre or open source software?
Debian definitely rejects such software, I assume the FSF/OSI would too, although they mostly concern themselves with licenses rather than actual software projects. In the past at least 3 times in different FSF/GNU projects, the FSF/GNU project has caused downstream GPL violations due to releases that were missing source code. Even minified JS without the original JS is not considered DFSG-free by Debian, even though it is extremely common these days. Debian applies this rule to all digital files, no matter whether they are programs or fonts or images or videos or other things. Some articles related to this topic:
http://www.inventati.org/frx/essays/softfrdm/whatissource.ht... https://b.mtjm.eu/source-code-data-fonts-free-distros.html https://wiki.freedesktop.org/www/Games/Upstream/#source http://compliance.guide/pristine
> programs written to compete in IOCCC
The main thing about source code is that downstream users be afforded equality of access to a work as the original author of a work. So if you can write an obfuscated program and realistically modify it yourself without hiding the real source code from users, then that is considered fine from the source code point of view. Of course it is a terrible way to write a program and should get modified to de-obfuscate everything, so more people can understand the code.