Hacker News new | ask | show | jobs
by ssddanbrown 1244 days ago
Congrats on this! I noticed though that the license [1] this is provided under puts restrictions on use and therefore wouldn't typically be considered open source, at least as per the commonly regarded open source definition, but maybe instead just "source available".

[1]: https://github.com/confluentinc/cli/blob/main/LICENSE

3 comments

IANAL but the license (CCL) is quite permissive except for the one use case of building a competing SaaS offering to Confluent [1]; the same type of license most cloud providers are using these days. But source available is definitely a valid term as well. I really do hope people will use this code!

[1]: https://www.confluent.io/confluent-community-license-faq/

Sure, it is fairly permissive as licenses go but those added restrictions fundamentally make this not open source, the use of this project is no longer fully open for use due to the restrictions you've place upon it.

It might seem overly pedantic, but it can be quite important since many companies try to blur the lines of what open source is for their own benefit. If interested, I go into a little more detail on this here: https://danb.me/blog/posts/why-open-source-term-is-important...

I think this is an overly dogmatic way of looking at Open Source. I think this way of looking at Open Source, and more largely OSI's stances on the term are out of touch with the realities of successful open projects and the challenges their developers face from the current software market and further out of touch with how the term Open Source is colloquially used by a large amount of people.

You should be able to share source, allow individuals to use and modify your work and build a community around that work without worrying that same work will be co-opted by an entity seeking to undermine the effort you and your community have done for years, by slapping a different name on it and hosting it, competing directly against you with your own work as a business.

I'm fine if "Open Source" can't be used to describe these projects which are working with imperfect situations and looking to protect themselves while still providing their software with generally good intentions, but by the same token I then hope the software community will come up with a new good name for these type of projects, it becomes the common name, and the dogmatic definition of "Open Source" fades into the relative obscurity I think it deserves from being so divorced from reality.

I think this is an overly dogmatic way of looking at Open Source.

Open Source is a functional definition that served us for 25 years. E.g. if software is Open Source, it can be included in a Linux distribution. Most distributions do not accept software that is incompatible with the Open Source definition. Diluting the term open source makes it more difficult to talk about a certain class of software licenses.

And why dilute the term if we have the perfect alternative term source available?

Because it is open source. It's not Free Open Source Software (FOSS) as deemed by some foundation or another. There is a lot of great open source software not included in Linux because of licensing issues (e.g. BSD clashing with GPL). Source available has generally meant you can have the source if you meet some criteria (have a license), but the license prevents you from redistributing it. I haven't dug into this license but it seems less restrictive than the AGPL.
How is it less restrictive when AGPL allows you to run a SaSS, but this one doesn't?
Is it now? I was under the assumption it was an ideological definition, at least that's how people present every time one of these projects are even a smidge off from the OSI definition.

I don't think most major Open Source projects in the last 10 years have even once considered,

'E.g. if software is Open Source, it can be included in a Linux distribution.'

That is exactly what I mean by "out of touch".

If I had to guess the primary motivator for being Open Source, are the communal and moral aspects of it.

Software Freedom is an ideology. Open Source is a definition.
> You should be able to share source, allow individuals to use and modify your work and build a community around that work without worrying that same work will be co-opted by an entity seeking to undermine the effort you and your community have done for years, by slapping a different name on it and hosting it, competing directly against you with your own work as a business.

The project in question is a CLI tool to a cloud platform that wraps an open source project (Kafka), complete with a page advertising why to use the wrapped software instead of the open-source version.

Its great that this person can work on a project, and share the source, but if anything, they're literally the ones doing the undermining of a community by re-branding existing OS Software. There's no community to form, no reason to expect anyone to contribute. The only reason anyone would want to modify this codebase is to interact with the centralized service through a different way.

"Source available" is a perfectly valid state, and describes a codebase like this which you can view, and even edit locally. "Open Source" is a term used for years to describe certain freedoms regarding software that has led to the abilities of many software users to modify and use software for whatever purpose they like, like the company in question using Kafka. Using an open-source codebase to make money is not undermining the project, its explicitly allowed in the license. We're all so much better off because open source projects, like Kafka, don't have these controlling and self-serving license.

The "dogmatic definition" of open source is what has been used for decades. Applying it to something that doesn't meet that definition invites confusion.

If a project wants to do something different, and develop an "open project" under some terms that aren't open source, they are free to do so, but they shouldn't call it something it's not.

Sure, I agree. Let's start popularizing other terms, but I think the relevance of the term Open Source will see a substantial decrease then, because I don't think people now largely use the word to mean what it meant decades ago. I think the popularity the term has now is for reasons entirely different, reasons like community building and some reasons of morality, and I think the term can either evolve to fit the industry's current norms or be reduced.

I would assert/guess/think that there are more developers who have started in the last 10-15 years who use the term for its colloquial meaning than there were developers in the entirety of the field in the preceding 50 years. Just from a numbers perspective, if I'm right, the colloquialism is going to win out.

> without worrying that same work will be co-opted by an entity seeking to undermine the effort you and your community have done for years

That literally is the point of open source: that it's not reliant on a single vendor. That's what open source was created for, and that's a big part of why it's thrived.

It's fine to create other structures, but as many have pointed out here, those other structures aren't open source. There are a lot of licenses that allow access to source code (very common in enterprise licenses) but have restrictions on what you can do with that source code.

Companies want the goodwill and community support that being open source provides without the obligations (copyleft with GPL-like licences and the do whatever you want with the code of MIT-like licenses). Defending attempts to redefine open source like this is just carrying water for megacorps.
"entity seeking to undermine the effort you and your community have done for years, by slapping a different name on it and hosting it, competing directly against you with your own work as a business."

The ability to fork was always a core value of Open Source. Especially if there was a community around a project that invested lots of energy into it - and then drama comes. Without forking it means it will always be dependant on the creator. Not the spirit I would like ot get into myself and I also don't like to see those 2 concepts mixed up.

Use AGPL then. If any other business wants to "undermine" yours, they would then have to let you "undermine" theirs as well.
Exactly. Such a definition of open source is hardly universal. I think of it as a sliding scale - to what extent is this open source? Does it allow me to:

* view, download and modify the source code?

* distribute the code as part of another project?

* distribute modified versions of the code?

* do whatever I like with it?

Arguing that unless you meet the OSI definition, you can’t call yourself open source is a little like saying you can’t call a peanut a nut: it all depends on the context of the conversation. At the OSI annual conference, sure this isn’t open source. On a Show HN I’m fine with it being open source.

Or maybe some people are trying to blur the line between FOSS and OSS.

If source is publicly available, it is open source. Plain and simple; regardless of your legal ability to copy or modify.

If I look up the definition of "open source", it says:

Definitions from Oxford Languages

open-source

denoting software for which the original source code is made freely available and may be redistributed and modified.

Emphasis on "may be redistributed and modified"

The software becoming source available is great, but calling it open source is still misleading. Open source implies an expectation that everyone is able to use it without restrictions, possibly on the condition that the derivatives should also remain under the same license.
> the same type of license most cloud providers are using these days

Very few pieces of software are attempting to propagate those non-open licenses; far more software is just using Open Source licenses.

If you want to call it "open source", use an Open Source license. If you don't, please use terms like "making the source available" or similar. (But please, consider just making it Open Source.)

Have you considered using a license like Business Source License (BSL) that would eventually become a true OSI license, like Apache, after a few years?

I think it's valuable for old source available code to not bitrot away when the value of it to the company decreases.

Absolutely, we picked the path-of-least-resistance license for the initial release in order to get the code into the open, but we'll continuously evaluate and see whether switching to a license like BSL makes sense. It's been awesome to see the evolution of licenses in just the past few years, and there are a lot more options than when I started this project. Hoping that having the project public will enable us to build a community and gain continuous feedback that will help drive technical, licensing, and other decisions in the future.
Considering how much Confluent depends on Kafka, maybe you should consider tying a future version to whatever license is used at Kafka, so you can give your users the freedoms that Kafka gave you.
"quite permissive" and "open source" are terms quite far apart.

Open Source software provides certain clear guarantees to the users of that software. Even small changes to these guarantees probably render the software not open source.

This is not pedantic rhetoric, there are clear reasons why open source software should be clearly told apart from proprietary (including source available): given the OSS guarantees, potential users of a given software may make usage / no usage decisions without further due diligence. If those guarantees are modified, due diligence and risk studies may be needed, specially for companies (what if we're not a competitor today but tomorrow we want to? what do you call competitor? etc).

Open Source exists for a reason, which is to provide a firm ground on those who are good with the guarantees it provides.

Please don't try to blur the line.

Agreed. It's important to use the correct terminology. This does not qualify as open source and should be described as source available instead (or should switch to a license which is open source). I've written about this subject in detail here if you're curious about why this is important:

https://drewdevault.com/2022/03/01/Open-source-is-defined-by...

Happy to answer any more specific questions here on HN.

> considered open source

This is misleading.

<quote> There is the free (libre) software movement, and there is the open source non-movement: two different viewpoints based on different values. </quote>

(RMS, from emails)

"open source" is misleading, since it often refers to proprietary software which is just software with open source code, and you can't do much with that source. I would kindly recommend to revisit your vocabulary.

> This is misleading.

No it isn't. The term "open source" is unpopular with Stallman and his acolytes, but is in common use and has a very clear definition stewarded by the Open Source Institute: https://opensource.org/osd

Whether that term or that definition is or is not aligned with your priorities isn't relevant to the fact that this term is in common use in the IT industry and this definition of it is the most commonly accepted.

In other words, nobody claimed it was free software, and Stallman doesn't get to just "declare" open source to be a non-movement like Michael Scott "declaring" bankruptcy.

I believe parent was saying this is NOT open source by OSI's definition either. That's the misleading bit.
Are you saying ssddanbrown should use a different word? ssddanbrown is just using the word from the article title.