getsentry / fsl.software

Functional Source License (FSL)
https://fsl.software/
138 stars 8 forks source link

Resolve conflict with "Open Source" misuse and identify better terminology #2

Closed chadwhitacre closed 8 months ago

chadwhitacre commented 1 year ago

In getsentry/fsl.software#4 we're writing a new license as a first step. The bigger idea is a new brand other than Open Source to represent our values of user freedom and developer sustainability. What might it be?

Update (@dcramer): The intent here is to normalize a category of software which provides more freedom than closed source, and more freedom than typical source-available software. It should not diminish the value of FOSS (or OSI's definition of "Open Source"), but should also not be overly confusing to end-users, and not include prejudice.

Conclusion

We're moving forward with "Fair Source" in https://github.com/fairsource/fairsource/pull/9. 👀

chadwhitacre commented 1 year ago

Sustainable Access Software

chadwhitacre commented 1 year ago

Turns out the US DoD has an opinion. 😏

Q: Is there a name for software whose source code is publicly available, but does not meet the definition of open source software? At this time there is no widely-accepted term for software whose source code is available for review but does not meet the definition of open source software (due to restrictions on use, modification, or redistribution). Terms that people have used include “source available software”, “open-box software”, “visible-source software”, and “disclosed-source software”. (Such terms might include open source software, but could also include other software).

chadwhitacre commented 1 year ago

Keygen is an open, source-available software licensing and distribution API, built for developers, by developers.

Seeing this on https://keygen.sh/ from @ezekg ... "open, source-available" really toeing the line! 😅

chadwhitacre commented 1 year ago

Codecov++ is now _____ ____

How I think of this is, what are we gonna use for our next headline?

chadwhitacre commented 1 year ago

functional source - everything a developer needs to use and learn from the software

From private Slack

chadwhitacre commented 1 year ago

i feel any name needs "source" as the 2nd word (needs to feel like an alternative to "open source"), ideally has just 2 words (more memorable, rolls off the tongue, etc), and somehow the first word needs to do a lot of heavy lifting in communicating how this is different ... functional source hits those pretty well

chadwhitacre commented 1 year ago

But "Free Software" ... second term "software"?

ljharb commented 1 year ago

Any qualifier to "source" or "software" needs to also not be implying anything inaccurate or negative about the other Sources and Softwares out there, I think.

chadwhitacre commented 1 year ago

Hrm, I guess "Superior Source" is out then. 😏

chadwhitacre commented 1 year ago

https://www.microsoft.com/en-us/sharedsource/ https://microsoft.fandom.com/wiki/Shared_source https://en.wikipedia.org/wiki/Shared_Source_Initiative

Would MS want to participate in a "Shared Source" revival? 🤔

chadwhitacre commented 1 year ago

Also quite parallel: Fair Source License

https://boyter.org/2016/08/gpl-time-bomb-interesting-approach-foss-licensing/ https://about.gitlab.com/blog/2016/03/24/gitlab-look-at-the-fair-source-license/ https://writing.kemitchell.com/2016/03/30/First-Read-of-the-Fair-Source-License https://news.ycombinator.com/item?id=10621933

chadwhitacre commented 1 year ago

Hearing some votes for Sustainable Source around the office.

chadwhitacre commented 1 year ago

I am reminded of Fair-code (different than Fair Source) by @ezekg in https://keygen.sh/blog/all-your-licensing-are-belong-to-you/. Keygen and Sentry both make the cut! 💃 It is actively maintained, as well; Codecov and Hashi are both listed.

Screenshot 2023-10-24 at 9 47 14 PM
chadwhitacre commented 1 year ago

Common Source 🤔

chadwhitacre commented 1 year ago

First impressions of "Common Source Software"?

For me it is suggestive of "Creative Commons" in a good way—it doesn't overly overlap in the way "Public Source" would overlap with "Public Domain." At the same time it has some real semantic content, since the concept of a commons is quite defensible as what we are building here. It's quite a strong story, actually, in that Governing the Commons is all about putting some quasi-governmental enforcements in place to prevent overconsumption. There's a strong research grounding for our approach.

"Codecov is now Common Source" Could hunt!

Thoughts from others?

chadwhitacre commented 1 year ago

@benvinegar in Slack:

first instinct: common source is cool surprised we didnt think of that

💃

chadwhitacre commented 1 year ago

From @gavinzee:

<gamer reaction> Isn't it better to be legendary, rare or uncommon? <practical reaction> common source works thematically with everything a developer needs and with us wanting to build a coalition of like-minded organizations

👍

chadwhitacre commented 1 year ago

From private email:

I really like Sustainable Source or even better Sustain Source software. I feel it resonates better with your values and is more meaningful than Common Source. A Sustain Source software is one that's resilient to the tragedy of the commons.

That fits well with your own history as one of the founders of the Sustain (movement).

chadwhitacre commented 1 year ago

+1 Fair Code from @ssddanbrown in https://github.com/getsentry/loose-confederation/issues/10#issue-1977911531:

I always thought "Fair Code" sounded good and could do well to become established if pushed by a few.

chadwhitacre commented 1 year ago

Oh! Also: Commons Clause (h/t @ssddanbrown).

chadwhitacre commented 1 year ago

Cooperative Source?

Limits free-riding, encourages cooperation.

In the social sciences, the free-rider problem is a type of market failure that occurs when those who benefit from resources, public goods and common pool resources do not pay for them or under-pay. Examples of such goods are public roads or public libraries or services or other goods of a communal nature. Free riders are a problem for common pool resources because they may overuse it by not paying for the good (either directly through fees or tolls or indirectly through taxes). Consequently, the common pool resource may be under-produced, overused, or degraded. Additionally, it has been shown that despite evidence that people tend to be cooperative by nature (a prosocial behaviour), the presence of free-riders causes cooperation to deteriorate, perpetuating the free-rider problem.

https://en.wikipedia.org/wiki/Free-rider_problem

Common Source is still my favorite.

chadwhitacre commented 1 year ago

Trying on "Open Software Product Consortium."

Codecov is now an Open Software Product.

Acme, Inc. joins the Open Software Product Consortium.

OSS — Open Source Software ⇒ OSP — Open Software Product

OSD — Open Source Definition ⇒ OSPD — Open Software Product Definition

ssddanbrown commented 1 year ago

I'd advise avoiding using "open" if possible since it that's more likely to create friction with the open source community. It would likely be considered open washing and, especially with using the same "OS" initials, it could be seen as an attempt to ride on, or conflate with, "open source".

chadwhitacre commented 1 year ago

Fair points. It's not clear to me yet what the right level of provocative-ness will end up being, this option would be on the more provocative end of the spectrum, for sure.

astrojuanlu commented 1 year ago

Yeah and "open" doesn't convey

The bigger idea is a new brand other than Open Source to represent our values of user freedom and developer sustainability.

Does the name have to be an English word that describes exactly what the license conveys though? "Apache 2.0" and "MIT" are specific licenses (unlike BUSL, which are actually a license family or license type), maybe you can allow more creativity in the name.

chadwhitacre commented 12 months ago

Common Source 🤔

TIL

chadwhitacre commented 10 months ago

"Open for Business" 🤔

astrojuanlu commented 10 months ago

Playing with acronyms: https://allenai.org/impact-license

The AI2 ImpACT Licenses get their name from AI2’s four core organizational values: Impact, Accountability, Collaboration, and Transparency.

chadwhitacre commented 9 months ago

Source Available might be the easiest. It's what everyone is already calling these licenses, and there's a pretty good storyline around convergence over time ... Open Source eventually settled into a handful of popular licenses, Source Available is kinda undefined and amorphous now but could be seen as converging on a handful of approaches (open core, DOSP).

ljharb commented 9 months ago

Source Available is very broad, and imo covers any license that isn’t OSI-approved but where the source code is public. Adding a qualifier may help, but the term itself wouldn’t likely ever mean “just this one license”.

ezekg commented 9 months ago

@chadwhitacre I hate the term Source Available. Most assume with a source available license that you can't fork, can't modify, etc. Generally, source available has meant that the source code is available to read and that's it. The licenses discussed here all allow more than reading, so I feel the term doesn't fit and just makes things more even confusing. All my customers call Keygen open source, and I didn't tell them to call it that, it's just what they decided on from looking at the ELv2 license.

chadwhitacre commented 9 months ago

Strong feelings. 😅

ssddanbrown commented 9 months ago

All my customers call Keygen open source, and I didn't tell them to call it that,

Not saying that's not true, but specifically labelling yourself as "open, source-available" may have an influence to customers thinking that. Plus you did label yourself as open source in your announcement.


I agree that source available is already established as quite a broad field. Any reason not to add weight to the existing Fair Code efforts? since it already has some other players involved and thus a little momentum. I always thought that term has quite a strong stance, and it's not used elsewhere and/or conflating with existing common terms.

astrojuanlu commented 9 months ago

Fair-code is not a software license. It describes a software model

Yeah I think "Source Available" also describes a model, rather than a specific license or family of licenses

chadwhitacre commented 9 months ago

community code

(src)

ShaneCurcuru commented 9 months ago

"Source Available" would be great as a descriptor, so I'd vote for that. Of course, I also get some feel the past negative connotations.

"Community Code" I don't personally like, because "Community" should IMO be something the broader group equally shares. But - On the other hand, "Community Code" is a good description, and uses neither "open" nor "source" as words, so I think it's actually a really good choice for your model here.

Reading the scrollback:

Hrm, I guess "Superior Source" is out then. 😏

Actually, using that name would be fine with me! We should all recognize that anything promoting for-profit (even by merely preventing competition with the license) is going to engage in puffery in their branding.

But I agree, it wouldn't be polite.

andrew commented 9 months ago

Some interesting names from a chatgpt conversation:

chadwhitacre commented 9 months ago

Shared Source surfaced above. It was Microsoft's response to Open Source waaaay back in 2001, so it carries lots of baggage. Personally I think it would be hugely epic if we ended up circling back to it. Let's get Windows and Office released under the FSL as part of the Shared Source revival! 😆

chadwhitacre commented 9 months ago

From @dcramer on getsentry/fsl.software#31:

Aside, I would love if we can just bucket these licenses into COSS. I dont think thats going to sit well with some, but thats really what they are at the end of the day.

Additionally many COSS projects, while thought of as Open Source, are simply not. They're often open core where the meat of the project is closed source or otherwise a proprietary/fully restricted license.

I do think in general tho these kinds of licenses, including the Open Core model, fit very well with the concept of COSS.

COSS stands for Commercial Open Source Software.

ssddanbrown commented 9 months ago

I'd strongly advise against COSS/"Commercial Open Source Software". The "Commercial" part is a specifier, to describe a subsection of open source software. I feel like using it in that way would be equivalent to me describing a "lorry" as a "commercial bus". Plus, open source can be commercialised, and is a fundamental right provided by both free and open source software, it's just harder to do in the manner desired in these cases, or for specific business models. I personally don't see why it's valid to widen the term via that prefix, and it feels somewhat discourteous to all the commercial projects that have managed to do well while taking the risks that open source entails.

I realise my input is quite the contrasting view to many in this thread, so I just want to make it clear why I'm passionate about this. I believe there is a clear need for this open-source adjacent space to be defined, and while it's not defined there is a repeated contention and friction. I totally believe in the open source definition, and I don't want to see that become eroded, especially with how much OSD-adhering work has been put out there demonstrating the benefits & potential of that definition, which has built up to form the popularity and reputation open source has today. Defining that adjacent space would not only help create a clear path for other folks in the same shoes as projects like Sentry, but also help firm those boundaries to protect open source to the OSD.

Sentry has resources, an audience, and a reputation, especially in that VC-space where a lot of these issues stem from. There's opportunity to do a lot of good by defining that adjacent space. Otherwise it would pain me to see that effort and resources put into increasing that tension & friction, especially as I've never been able to understand why there's so much sheer desire to use "open source" while simultaneously feeling that the existing OSD does not suit your need.

dcramer commented 9 months ago

Sentry has resources, an audience, and a reputation, especially in that VC-space where a lot of these issues stem from. There's opportunity to do a lot of good by defining that adjacent space. Otherwise it would pain me to see that effort and resources put into increasing that tension & friction, especially as I've never been able to understand why there's so much sheer desire to use "open source" while simultaneously feeling that the existing OSD does not suit your need.

Exactly why we're investing into it, because we want to see it better.

Re: OSD and "Open Source" - this is just what we see in the community. The defense you hear from folks like us is very true: most people only care about free as in beer, not about all the rights associated with it. Its ok if you believe thats not enough (its not at odds), but thats where the confusion comes in. I fundamentally agree we need a better definition, just one that doesnt have a negative/preconceived stigma around it. This however is not just a problem for venture backed companies, its a problem for the whole community. Unfortunately, partially due to the fault of people who want to be included in the Open Source side of things, most of the time the open source community has come off as fairly hostile. That isnt great as a lot of the people the hostility is directed against are funding, building, and shipping a lot of today's generation of software, both open source and not. That has to stop and we have to find a constructive path forward that everyone is aligned with.

My belief is that we need something that when the mainstream developer see it, its either obvious what it means (and it has to imply a lot more than what some terms imply today about non-permissive open source), OR its compelling enough that they will quickly learn what it means. That's why I'm overly focused on this as a branding / marketing exercise, because thats what it is. Its the same as the OSD's marketing investment behind Open Source, and to me this is critical to get right or the industry is going to constantly be fighting about this and no one will win (well, at least the open source community is unlikely to come out better).

ezekg commented 9 months ago

I personally find it confusing that COSS, FOSS, and OSS all mean the same thing, according to the OSI and its adherents. I feel there's room in both COSS and OSS to not be strictly FOSS. But maybe that's just me. Regardless, there needs to be real discussion about the fact that "normal" (sometimes called "uneducated") developers/engineers/coders/etc. don't hold to the strict dogma of FOSS and the OSI in order for them to refer to something as "open source."

According to the OSI and its adherents, we must shoehorn the term "source available" to mean everything not OSI-approved, but the term "open source" can't naturally evolve. But I'm fine with a new term. One without any baggage, and one that will give us all a rest from the recurrent appearances of the fervent advocates wielding their pitchforks in the name of the holy OSI everytime somebody launches a new "open-source-available-w/e" product.

dcramer commented 9 months ago

I'd strongly advise against COSS/"Commercial Open Source Software". The "Commercial" part is a specifier, to describe a subsection of open source software. I feel like using it in that way would be equivalent to me describing a "lorry" as a "commercial bus". Plus, open source can be commercialised, and is a fundamental right provided by both free and open source software, it's just harder to do in the manner desired in these cases, or for specific business models. I personally don't see why it's valid to widen the term via that prefix, and it feels somewhat discourteous to all the commercial projects that have managed to do well while taking the risks that open source entails.

Aside, one note here, I dont think COSS is a commonly used term. I had not seen its use before maybe even the last year.

ljharb commented 9 months ago

I would agree COSS is very much not commonly used, but certainly the word "commercial" is.

dcramer commented 9 months ago

"The commercial version of [pick your favorite open core project]" is exactly what I'd use in conversatino, and thats just a proprietary licensed version, thats why I think the name is more fitting. Granted, that would imply the industry agrees w/ calling those projects COSS. If they do, I think (some versions of) non-compete safely fits in that bucket. If they don't, I think we do the entire community a disservice by trying to separate the two when to a customer they're not all that different.

adamhjk commented 9 months ago

I don't think you can call it "commercial open source software", given that it still implies that the software in question is "open source". I get where you're coming from, since the COSS folks have basically watered down their own definition of what an "open source company" is to be "companies". :)

"Open Future Software"?

"Protected Source"?

"Innovator Protected Software"?

astrojuanlu commented 9 months ago

No mention of Delayed Open Source in this thread getsentry/fsl.software#3

(Not very exciting as a name, I know)

schacon commented 9 months ago

I agree that adding something like "Commercial" in front of "Open Source" makes it a specifier, which I don't think will work well.

On the other hand, I think anything that doesn't have "open source" as part of it is going to be confusing to the large group of people (we can just start calling them "the uneducated" 😂 ) who understandably interpret that commonly used phrase to be the logical opposite of "closed source".

What about a prefix modifier for "open"? I think that implies a semantic change while still communicating some sort of commonality. Like if someone said "semi-open source", that's clearly not open source, right?

So maybe something like "co-open source" (which could stand for either cooperative or commercial), or "pro-open source" (for professional).

I rather like "pro-open source". Then you can also say "We pro-open sourced it" or "Codecov is now a pro-open source project".

astrojuanlu commented 9 months ago

"Cooperative" and derivatives has been proposed a few times, but I don't think it's a good word. At the moment, these licenses are categorized as "non-compete" (see getsentry/fsl.software#31) because the original motivation is to, well, restrict competition to sustain a business model. Cooperatives, as legal entities and as a movement, are completely orthogonal to this.

At the same time, I reckon "non-compete licenses" is anything but sexy as a name.

Also, names are just names. "Free Software" has been battling forever with the Free vs Gratis thing (hola, hablo español). "Open Source" as a name is very well known but the thing that anchors it is not the name, it's the Open Source Definition.

My heart so far is with Sustainable Source https://github.com/getsentry/fsl.software/issues/2#issuecomment-1772945964 or Common Source

ssddanbrown commented 9 months ago

[...] If they don't, I think we do the entire community a disservice by trying to separate the two when to a customer they're not all that different.

I think anything that doesn't have "open source" as part of it is going to be confusing to the large group of people (we can just start calling them "the uneducated" 😂 ) who understandably interpret that commonly used phrase to be the logical opposite of "closed source"

I don't really understand why there's such a desire to make the term fit those that are already unaware (or "uneducated" or those that don't care) on the OSD and/or history of open source. That segment will exist for any term since that educate step requires effort, otherwise it's easy to jump to assumptions in any shorter term. Tweaking the existing term won't really help if those users don't already care so much, especially as they'll be more likely to not understand the specific of any additional qualifier and therefore repropagate such content as open source anyway. Why is the focus on that audience rather than those that believe in the OSD, and the history of people building the content that has help put reputation behind that term.

This is a chance to create clearer lines between these segments, rather than blurring this field by adopting or extending existing terminology.

Edit: Changed "reprogate" to "repropagate", thanks chad!