Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Launch Fair Source #14

Open
2 of 3 tasks
chadwhitacre opened this issue May 13, 2024 · 20 comments
Open
2 of 3 tasks

Launch Fair Source #14

chadwhitacre opened this issue May 13, 2024 · 20 comments

Comments

@chadwhitacre
Copy link
Contributor

chadwhitacre commented May 13, 2024

Now that the logistics of transferring are complete (#9) and I've made contact with the Fair Code crew (#10), it's time to get Fair Source off the ground! 🙌

What is Fair Source?

Fair Source is our answer to @adamhjk's CTA:

I think the way forward here is to make what I suspect is a loose confederation of folks using non-compete licenses to actually get together and draft their own set of values. To then brand that. And stand behind it proudly.

Fair Source is our fill-in-the-blank for “Codecov is now [__________].”

Here's a Google Doc that we're sharing with the design team.

To Do

  • figure out some details
  • make a website
  • promote it at Sentry's next Launch Week in August
@ezekg
Copy link

ezekg commented May 13, 2024

I like this. I'll try to stay in the loop and change verbiage on Keygen to "fair source" when you're ready (from the cheeky "open, source-available" that seems to toe the line a bit too much according to a few people).

Are you going to fully merge https://faircode.io into this, or will it stay separate? You mentioned their "in the loop", but just curious as to what that actually meant (if you even know yet).

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented May 13, 2024

I like this. I'll try to stay in the loop and change verbiage on Keygen to "fair source"

Woo-hoo! Awesome! 😁

Re: Fair Code, there are few more details at #10 (comment). @janober and I had a call and he is busy being a CEO, so he is happy to see someone else run with this. :) If all goes well we will see Fair Code fully merge into Fair Source! 🤞

@chadwhitacre
Copy link
Contributor Author

Can we talk about outcomes? What outcomes are we trying to drive here?

Here's a sketch: 10 years from now basically every company shares their core products. Google Search. Facebook News Feed. Late majority, 80%+ of companies are using Fair Source (at least for new products). Starts with developer tools(?), expands from there.

Why? What are the values?

Sentry's values are user freedom and developer sustainability, which matches the first Fair Code principle, "Free and Sustainable." The rest there are: "Open but Pragmatic," "Community meets Prosperity," "Meritocratic and Fair." @dcramer talks about "access to technology and knowledge for developers."

What are the benefits?

  1. Knowledge. Individuals can read and learn from software that is shared (though probably not if they are employed at an upstanding competitor).
  2. Usage. Fair Source should allow some measure of software use, not just reading the code.
  3. Hackability. Fair Source should allow for modifying the software to suit ones needs.
  4. Contributing. Fair Source should allow for contributing modifications back to the producer.
  5. Transparency. Democracy dies in darkness, etc., etc.

🤔

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented May 14, 2024

Hmmm ... maybe Fair Source distinguishes between software producers and consumers. Fair Source producers grant consumers the right ("freedom") to:

  1. read,
  2. non-competitively run,
  3. modify, and
  4. share their modifications with the producer and with other consumers.

The delta with Free Software/Open Source is that it doesn't distinguish producer and consumer as strongly.

The delta with closed source is that it distinguishes producer and consumer more strongly.

@chadwhitacre
Copy link
Contributor Author

Interesting Twitter exchange with ESR, led to a post "Widespread Use of a Fair Source Product."

@chadwhitacre
Copy link
Contributor Author

Open Core - Open Source license on community edition, proprietary license on enterprise features.

Fair Core - Fair Source on community edition, proprietary license on enterprise features.

Keygen is Fair Core. Accurate, @ezekg?

@chadwhitacre
Copy link
Contributor Author

I cleaned up the homepage and started driving traffic a bit.

Screenshot 2024-05-16 at 10 35 45 AM

@ezekg
Copy link

ezekg commented May 16, 2024

Open Core - Open Source license on community edition, proprietary license on enterprise features.

Fair Core - Fair Source on community edition, proprietary license on enterprise features.

Keygen is Fair Core. Accurate, @ezekg?

I'm not really sure how you'd categorize it using those 2 definitions. Keygen's entire code base is licensed under Elastic, which has a clause that allows license-key-gated features. So CE is licensed under Elastic, and EE is licensed under Elastic + a license key for those features. So I guess you're right i.r.t Fair Core, but the overloaded term for "license" seems ambiguous, i.e. license terms vs license key, because they're both under the same license terms — just Elastic has provisions for protecting certain parts of the code base from modification and use with a license key (where a license key allows use but not modification).

So would that mean any project using Elastic which used the license key provision in the license terms for additional features would be Fair Core, not Fair Source? Is that what you're thinking? Fine either way. I think it makes sense.

By the way, great rebuttal1 i.r.t. widespread use of "fair source."

Footnotes

  1. I was kind of taken back with that exchange (among others) with ESR on Twitter. I don't particularly enjoy how people on the other side seem so — for lack of a better term — arrogant (especially referring to this exchange). I wish we could all just work together, but they seem so vehemently against that. I personally still think the term "open source" needs to be a larger umbrella — but I digress (maybe I'll fight that battle another day). The "fair source" and "fair core" terms are a good enough compromise, even if the other side still hates us for it for some reason esoteric reason.

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented May 16, 2024

Elastic, which has a clause that allows license-key-gated features

Ah, interesting, okay. Hmmmm ... 🤔 Trying to synthesize the different real-world approaches, wrapping my head around each one. This helps, thanks.

@ezekg
Copy link

ezekg commented May 16, 2024

I think Fair Core is a fair term for projects licensed under the Elastic terms, since it's a Fair Source "core offering" with additional features granted by a license key. It's similar to Open Core, where some of the project is available for everyone, while the rest requires an additional agreement (a license grant, license key, payment, w/e).

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented May 16, 2024

Looking through Fair Code as a starting point, I see six licenses and 11 companies, but only 4 licenses are in use by the listed companies:

  • SSPL - MongoDB, ingest,
  • ELv2 - Elastic, Airbyte, Keygen, nango, OpenReplay
  • BSL - CockroachDB, HashiCorp, Sentry (oops)
  • SUL (not on SPDX) - n8n

Now of course we also have:

  • FSL - Sentry, AnswerOverflow, Convex, CodeCrafters, GitButler (ref)

My thought is that we should have some opinionated take on what licenses to promote. Something like:

  • SSPL for hyper-copyleft
  • ELv2 for permissive-style with Fair Core option
  • FSL for eventual Open Source

I think we acknowledge BUSL and SUL (and maybe others?) but steer people towards the above. I think any future license we would recommend should go through SPDX inclusion first at a minimum.

SUL

SUL was based on ELv2. I'm not seeing in the announcement or discussion thread an explanation of the difference. Why was ELv2 insufficient? 🤔 Here's a gist with both, with minor formatting adjustments made in order to get a clean diff (below). Afaict SUL a) subtly modifies the limitations and b) removes the concept of license keys. IMO it is not sufficiently different nor sufficiently adopted (i.e., it's not in SPDX) to warrant top-tier promotion. I think we promote ELv2.

--- ELv2	2024-05-16 11:19:27
+++ SUL	2024-05-16 11:19:24
@@ -1,6 +1,6 @@
-# Elastic License
+# Sustainable Use License
 
-Version 2.0
+Version 1.0
 
 ## Acceptance
 
@@ -11,17 +11,15 @@
 The licensor grants you a non-exclusive, royalty-free, worldwide,
 non-sublicensable, non-transferable license to use, copy, distribute, make
 available, and prepare derivative works of the software, in each case subject
-to the limitations and conditions below.
+to the limitations below.
 
 ## Limitations
 
-You may not provide the software to third parties as a hosted or managed
-service, where the service provides users with access to any substantial set of
-the features or functionality of the software.
+You may use or modify the software only for your own internal business purposes
+or for non-commercial or personal use. 
 
-You may not move, change, disable, or circumvent the license key functionality
-in the software, and you may not remove or obscure any functionality in the
-software that is protected by the license key.
+You may distribute the software or provide it to others only if you do so free
+of charge for non-commercial purposes. 
 
 You may not alter, remove, or obscure any licensing, copyright, or other
 notices of the licensor in the software. Any use of the licensor’s trademarks
@@ -44,7 +42,7 @@
 
 You must ensure that anyone who gets a copy of any part of the software from
 you also gets a copy of these terms. If you modify the software, you must
-include in any modified copies of the software prominent notices stating that
+include in any modified copies of the software a prominent notice stating that
 you have modified the software.
 
 ## No Other Rights
@@ -55,11 +53,11 @@
 ## Termination
 
 If you use the software in violation of these terms, such use is not licensed,
-and your licenses will automatically terminate. If the licensor provides you
+and your license will automatically terminate. If the licensor provides you
 with a notice of your violation, and you cease all violation of this license no
-later than 30 days after you receive that notice, your licenses will be
+later than 30 days after you receive that notice, your license will be
 reinstated retroactively. However, if you violate these terms after such
-reinstatement, any additional violation of these terms will cause your licenses
+reinstatement, any additional violation of these terms will cause your license
 to terminate automatically and permanently.
 
 ## No Liability
@@ -85,9 +83,9 @@
 power to direct its management and policies by vote, contract, or otherwise.
 Control can be direct or indirect.
 
-"Your licenses" are all the licenses granted to you for the software under
-these terms.
+"Your license" is the license granted to you for the software under these
+terms.
 
-"Use" means anything you do with the software requiring one of your licenses.
+"Use" means anything you do with the software requiring your license.
 
 "Trademark" means trademarks, service marks, and similar rights.

@chadwhitacre
Copy link
Contributor Author

I've started a Google Doc that I'll be using to coordinate with our design team (also linked in the description).

@chadwhitacre
Copy link
Contributor Author

I connected over email with Elastic. They are not interested in participating directly in Fair Source at the moment, but they are more than happy for us to promote ELv2.

@chadwhitacre
Copy link
Contributor Author

Sentry's Launch Week has been moved. The Fair Source launch is now scheduled for August 16.

@chadwhitacre
Copy link
Contributor Author

Sentry's Launch Week has been moved again. The Fair Source launch is now decoupled from Sentry's Launch Week and we can ship as soon as we're ready.

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented Jun 3, 2024

Pitch to simplify through a single Fair Source License: #16.

@chadwhitacre
Copy link
Contributor Author

chadwhitacre commented Jun 4, 2024

Decision on #16 was to reticket #17 and proceed here as follows:

  1. Rename Functional Source License to Fair Source License.
  2. fair.io says:
    1. "Fair Source is a great way to meaningfully, safely share your company's core products."
    2. "Want to adopt Fair Source? Here's the playbook:
      1. apply Fair Source License,
      2. audit for secrets,
      3. make it public,
      4. announce 'Foo is now Fair Source'
    3. "FAQ"
      1. "What if I want to monetize self-hosted? Fair Source License is not for you, look into ELv2."
      2. "What if I like copyleft? Fair Source License is not for you, look into SSPL."
      3. "Can I still call it Fair Source if I use ELv2 or SSPL? Yes, of course. Any good faith attempt to meaningfully, safely share your company's core products counts as Fair Source."
      4. etc.

Refer to the Google Doc for further iteration.

@chadwhitacre
Copy link
Contributor Author

Decision taken to not block launch on renaming FSL to Fair Source License. More detail at #17 (comment) ff. We still intend to promote FSL as the flagship Fair Source license (and FCL as secondary if/when it lands, #17), and may revisit the question of renaming post-launch.

@chadwhitacre
Copy link
Contributor Author

Bringing this back here:

We have to help people understand all the facets of open source and most importantly, the access to software.

If you distill this idea into its most fundamentals it’s about access. We believe giving people software, access to code, it can change everything. It was that for me, and I believe everyone in this group.

My primary goal is to recreate that access, and the goal. The internet has gotten much bigger, but not more difficult. We have an opportunity to keep it open.

@dcramer The common discourse is around freedom to read, run, modify, and distribute software. Is "access" simply a synonym for "software freedom," or is there some nuance I'm missing, or ... ?

@chadwhitacre
Copy link
Contributor Author

Posting some additional guidance from @dcramer culled from last week's convos in private Slack:

i would start by writing down the requirements for a fair source license, and the things we think maybe shouldn't be requirements but "ideal" (imo the time delay thing is ideal vs requirement)
and then get feedback from folks on that, and use SSPL, ELv2, AGPL? as tests (reminder im not an expert on these licenses)

heres my point of view:

  1. theres a set of non negotiable requirements for fair source licenses
  2. theres a set of recommended goals

FSL may achieve them all, ELv2 may not
e.g. recommended should be "a large chunk of the software is either permissive open source, or with a maximum of a 4 year delay, permissive"

we should be clear on the requirements, and recommendations, and note licenses which achieve both

I would make the approach more focused on “here are different licenses that follow this model, here’s example user, and here’s some kind of grading of if they achieve it fully or not"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants