10 ms·
The product I worked on for the last 4 years is now open-source
- reducks 4y agoI've worked on building Confluent's CLI for the last 4 years, and after a year of technical work, security reviews, and sign-off meetings, I'm excited to share that the whole project (including all dependencies) is now open-source! https://github.com/confluentinc/cli https://github.com/confluentinc/cli The CLI is optimized to work with Confluent's on-prem or cloud managed Kafka offerings, but the end goal is to have this be an amazing CLI experience for vanilla Apache Kafka as well. Regardless, there are some interesting bits in the repo (like doing SSO login from a Go terminal app, or mocking API servers for integration tests) that could be useful for other devs out there. Happy to answer questions on Go, CLIs, Kafka, or how to convince big companies to open source their software. I'm really proud to share all the work with the community and to know that the code will be preserved. Cheers!
- jeffhollan 4y agoCongrats @reducks! Looks like a slick CLI. I assume the CLI has been available prior to now, just behind closed source. Curious on what ended up being the deciding factor that helped bring it to full open source? Or maybe what had been holding the team back previously your team was able to overcome? Love to see these types of developer tools in the open so great work!
- reducks 4y agoThanks! We've been shipping the CLI since early 2019 but had a few blockers along the way (alluded to in the blog post). We built the CLI on top of a lot of internal dependencies that were never going to be open-sourced, so we had to do a lot of creation and migration in order to have the CLI only rely on public dependencies (and in other cases, we went through the approval chain to release certain packages like `go-editor` and `go-ps1` into the open). Once we did that, once we cleaned up the codebase, and once we successfully pitched the business case for open-sourcing the tool, we were finally able to flip the switch. It's a small team so there was also always a prioritization question of working on open-sourcing vs. adding new features. Excited for `snow` as well! ;)
- bsuvc 4y agoNice to see. Thank you for making it open source!
- whizzter 4y agoObvious question in hindsight, was this related to the layoffs that just got announced?
- ssddanbrown 4y agoCongrats 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 https://github.com/confluentinc/cli/blob/main/LICENSE
- reducks 4y agoIANAL 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/ https://www.confluent.io/confluent-community-license-faq/
- freeqaz 4y agoHave 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.
- reducks 4y agoAbsolutely, 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.
- vineyardmike 4y agoConsidering 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.
- jwildeboer 4y agoWhy didn’t this project use one of the well known and (court) tested open source licenses but instead opted to use Yet Another New License that is not adhering to the Open Source Definition by the OSI? Muddying the waters this way isn’t really helpful from a community perspective, it only serves to help corporate lawyers and makes reuse of code in other projects a legal risk. Le sigh.
- guerrilla 4y agobecause they wanted to reap the PR benefits of "open source" without actually being open source.
- EdwardDiego 4y agoBecause they like community contributions to their stuff, so "open source" it for that, but don't want their competitors benefiting from the initial work they did. Which I understand. Kafka was already FOSS, so anyone can vendor it, what Confluent has that gives it an edge is the ecosystem of tools that make Kafka more useful, e.g., Kafka Connect connectors, Schema Registry, kSQL etc. (Although I'm of the opinion the last one exists mainly to dazzle engineering VPs. The abstraction leaks rather quickly IMO, just using Kafka Streams or Flink from the get go) When I was at RH, we couldn't ship or bundle or provide any of the above in our FOSS projects, because of that licence, so hey, it was working I guess.
- ddevault 4y ago> Because they like community contributions to their stuff, so "open source" it for that, but don't want their competitors benefiting from the initial work they did. Which I understand. The distinction between competitors and community contributions is false. Why should the publishers be entitled to exclusive monetization of the contributions of their community, and why should their community be denied the right to monetize a product they contributed to? The ability to share the wealth is why the open source movement works. This approach stems from a position wherein the publishers view themselves as separate and privileged from their community, which is valid if you are the only entity investing in the software, but unjust if the community is an active participant in the software's development. The mainstream view on OSS is often good for the original publisher, in that an organization which monetizes their software then has access to more resources with which to contribute back to the software -- particularly in the presence of a copyleft license to enforce this behavior. The original publisher is then able to benefit from a larger and more consistent workforce developing the project with them.
- msk-lywenn 4y agoTitle should be "Confluent CLI is now open source"
- davidgerard 4y ago"Confluent falsely claims its CLI is now open source"
- davidgerard 4y agoThis is not "open source". HN needs a rule on headlines that make false announcements.
- guerrilla 4y agoWell, doesn't it make sense to just flag it? I think that might be in the spirit of the site...
- vichle 4y ago[flagged]
- whizzter 4y ago8% of Confluent laid off now, was this a "cost saving" or "save-my-work" opensourcing? https://news.ycombinator.com/item?id=34532295 https://news.ycombinator.com/item?id=34532295
- rmoff 4y agoThe post & tweet have been removed - details: https://www.reddit.com/r/programming/comments/10lonsi/comment/j5z64zz/ https://www.reddit.com/r/programming/comments/10lonsi/commen...