Relicensing CockroachDB - <AUTHOR> https://www.cockroachlabs.com/blog/oss-relicensing-cockroachdb/ <comment><USER2> This is more validation of the threat that cloud providers (mainly AWS) are to businesses built around open source products. Yes, AWS and others are legally permitted by existing open source licenses to create SaaS versions of these open source products, but with cloud computing becoming an increasingly winner-take-all market, it leaves little room for the software's authors to generate revenue via hosted offerings of their software. If you think that the Cockroach Labs, Redis Labs, Mongos, Elastics, etc., of the world provide a net benefit to the software world, I think you have to contend with the fact that there is going to be fewer such companies in the future if AWS keeps eating their lunch.

<comment><USER3> The problem with this argument is that there has always been a before and after.

IE This is not the first business model issue OSS has dealt with.

For example: It seems ridiculous now, but at one point authors were significantly squeezed by commercial distros offering support and feature work directly to customers for their packages.

(And this was even a similar kind of disintermediation applied to authors as you see now - people only cared what they got from redhat, not from the original author)

One interesting constant is that most of the projects that felt a need to change licensing to react to business model issues over the years are dead ;) . Not all of them, mind you. But the failure rate seems really really high.

The underlying issue here in this one is that people (apparently so far!) want to use AWS/GCP/etc more than they want to use mongo, redis, cockroach, or any particular technology.

No license change will fix that. In that case, AWS actually controls your customer more than you do. Unless something comes along that is "better enough" that people are willing to buck AWS to use it, this approach of relicensing fails.

(and the customers certainly don't care about your licensing scheme)

<comment><USER4> You're completely missing the point. The point isn't to stop AWS from integrating. The point is to get a slice of the pie if AWS does decide to do an integration because now, with the new license, AWS needs to come to them first and ask for a license, which I'm sure they would give with reasonable terms.

<comment><USER5> Indeed. If AWS makes a load of money out of Cockroach's hard work, why shouldn't Cockroach get a slice of it?

<comment><USER6> > Indeed. If AWS makes a load of money out of Cockroach's hard work, why > shouldn't Cockroach get a slice of it?

They should have thought about that before benefitting from it being open source.

<comment><USER5> > They should have thought about that

They have thought about it! That's why they are using the BSL.

I note that they are using a time-delayed open source approach (after 3 years it becomes open source) which I understand Stallman has endorsed in the past.

<comment><USER6> They're using the BSL _now_. If they cared about revenue protection, they shouldn't have opened it in the first place.

Starting an open source project, taking contributions from the community and getting popularity and traction because you're open source, and then closing it again because you're so popular Amazon might "steal" your revenue? That's just abusing the community.

<comment><USER7> I can see where you're coming from, but the work of the community is still (and forever) under the license that was in place when they contributed.

Someone could fork CoackroachDB and continue working on the open source license.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm still not sure why people open source great products then get outraged that someone else would simply resell the product and make money off of it, possibly even more than them.

When I put something out as open source, I'm doing it fully aware that I am leaving money on the table, but it will be worth it if a community of maintainers springs up around the project and ends up making it far better and more useful than I ever could alone. Then I could use that same project perhaps to do other things, which may lead to better money making opportunities.

<comment><USER9> Does that mean we shouldn't revisit our decisions and all your decisions should be set in stone?

CockroachDB tried something. It seems to not be working- so they are changing. It's not as if they are doing it retroactively.

<comment><USER10> Does everyone who has contributed to this project over the years have a say in this decision? My code itself will also be relicensed, whether I like it or not.

<comment><USER11> You actually have the right to appeal that decision, because you own your contributed code. (unless you already agreed in advance through a Contributor License Agreementt.)

</comment></comment></comment></comment><comment><USER12> It's interesting to see the mindset over here at HN change over the year. I recall when MongoDB introduced their "commons clause", RedisLabs did the relicensing and ElasticSearch doing the dual license open source code, there was quite some outrage over here.

I guess everyone is accepting that these clouds are in fact major threats to these projects, as providing these databases as a service is pretty much the only realistic way to get decent revenue numbers.

I think it's good that CockroachDB is preemptively doing this, now that it has become more acceptable a practice.

<comment><USER13> Imo the key difference here is that they're owning the decision and not trying to paper over the fact that it is no longer OSI Open Source.

The three year change is also a big deal in my mind. Would make me a lot more comfortable to adopt knowing it is absolutely guaranteed to become OSI Open Source later.

<comment><USER12> My point is that they are able to own the decision only because the public opinion has accepted it as a new reality. If CockroachDB was the first OSS database company to do this, they would have a much harder time explaining their rationale. MongoDB et al have paved the way for them.

<comment><USER14> Completely agree.

Cockroach also have the benefit of hindsight to avoid some of the problems Mongo/Redis et al encountered.

Calling this a "Business Source Licence" avoids the terminology problems so many people complained about with Mongo's perhaps badly chosen "commons clause" rider on top of (and fundamentally changing) a well know open source license.

I think the rolling three year time limit is probably a smart reaction to some of the complaints people have about other companies attempts to tie down some of the rights while providing assurance that there's at least be an option open in the future no matter what happens to the company.

I wish them well with this.

</comment></comment></comment></comment><comment><USER15> It's a good move and I even welcome it. However, I would have loved to see the removal of their enterprise version of the product at the same time. I love cockroachdb to death, but the key features that prevent me from using it in any real projects I'm doing are the backup/restore feature, which is currently locked behind their enterprise version. I also would love to use CDC and table partitioning. Nevertheless, great product.

<comment><USER16> Never used CRDB so this question may make no sense, but given it builds upon Postgres (AFAIU), couldn't you use any of the many backup solutions Pg offers?

<comment><USER17> CRDB is compatible with the PostgreSQL wire protocol, so you can use existing database drivers (in C#, Golang, whatever) to talk to a CRDB instance. The SQL itself is slightly different (no two databases are the same these days), so that would have to be adjusted.

If your backup solution is fine with "SELECT * FROM table1; SELECT * FROM table2; ..." you can use the client interface for backups. But usually you want to a snapshot of the entire database at some (self-consistent!) point in time, and back up that.

<comment><USER18> Would ZFS snapshots work? It is what I use to backup PostgreSQL, much easier and faster than ordinary backup

<comment><USER19> Not unless you like pain. CockroachDB is distributed and uses Raft consensus under the hood, so you can't take a snapshot of just one node; you need to take a snapshot of _all_ the nodes in your cluster, and you need to take those snapshots at the same logical instant. If the snapshots are from slightly different moments, when you boot the cluster up from the backup, the nodes will panic because you'll have corrupted the Raft state or otherwise caused the multiple replicas of the data to become inconsistent with one another.

There is one safe way to make this work: turn off your cluster, back it up with ZFS snapshots, then turn it back on. (Some of Cockroach's production tests do exactly this, in fact, because restoring from ZFS snapshots is so unbelievably fast.) But if you have the flexibility to power cycle your production database off and on in order to back it up... you probably don't need a distributed database, because fault tolerance likely isn't among your requirements.

(I'm a former CockroachDB engineer.)

</comment></comment></comment></comment></comment><comment> louis-paul Recently discussed with somebody at a major cloud provider and IIRC their response was in essence "I think we're doing them a favor: ask Neo4j about our release of [hosted graph database service]. We've taken a share of their business, but the overall market is much bigger, and they're doing great. Our hosted products are not even the most polished in the market, and companies like Elastic can easily be compete with us."

Thoughts?

<comment><USER20> Yes, some cloud providers readily suggest competing with them by making something better. In the end, the DB is still running on their infrastructure (required to keep the customer's latency low) and they are still capturing profit even if it is not as much as their DBaaS profit.

There is a problem though that a DBaaS provider is still at an inherent disadvantage. You aren't in the AWS/GCP cli tool and APIs. And the DBaaS has to setup VPC peering across accounts, which has some inherit limitations (e.g. no DNS resolution on GCP).

<comment><USER21> > (e.g. no DNS resolution on GCP)

actually you do not need DNS resolution on GCP since you can actually have a high available IP way easier (which is way better). in AWS it's also possible to have a highly available IP, but it's way harder to do so.

</comment></comment></comment><comment><USER22> CockroachDB is an excellent project but it doesn't have the massive adoption that would prompt AWS/Azure/GCP to implement it as a managed service.

Companies are much more likely to just go with AWS Aurora than to consider CockroachDB at this point.

I'm still amazed as how promising open source projects continue to undermine themselves with this "commons clause" movement. I hope something good comes out of it but I'm pessimistic.

<comment><USER23> Why would this undermine their efforts? It seems totally reasonable to say "You can't just sell a hosted version of this yourself". Anyone who was planning to use Cockroach still can, it even seems that you could be a CockroachDB shop that provides consulting services, so long as you don't manage and host it.

<comment><USER22> Simply because if I'm using CockroachDB and don't want to manage it myself, my only option is Cockroach Labs.

While they are experts in the technology they've created, offering a managed service is much more than just having awesome developers. Not to mention some companies have other restrictions (on premises, local presence, etc, etc, etc).

For a customer, unless I'm completely sold on their technology and really need it for my company, they just added a restriction on my choices.

<comment><USER24> > if I'm using CockroachDB and don't want to manage it myself, my only option > is Cockroach Labs.

Cockroach Labs is not your only option; you can also use other providers that have a license agreement with us. Our first partner in this area is ObjectRocket: [https://www.objectrocket.com/blog/cockroachdb/introducing_co...](https://www.objectrocket.com/blog/cockroachdb/introducing_cockroach/)

<comment><USER25> Quick question : my company uses a "devops as a service" partner. Basically we pay a monthly fee to have their guys on call 24/7 in case something starts to go wrong. Additionally they update and manage our kubernetes cluster, installing and setuping any dependency we require. From our point of view, we have a fully managed kubernetes cluster.

Financially, we pay AWS for EC2 instances and other expenses + them on top of that for consulting service, they have root access to the cluster. We do not have any devops/infra guy in the office.

Would they be allowed to install (and manage) CockroachDB on our cluster if we need to ?

<comment><USER26> I'm not a lawyer or in any way speaking for Cockroach Labs, but the Additional License Grant in their license looks to allow "contractors" to do that kind of thing. It's you or your lawyer's call as to whether you're safe in your scenario, but it seems to me that the answer is yes.

</comment></comment></comment></comment></comment></comment><comment><USER27> Unrelated, but it never occurred to me that cockroachdb and gimp were made by the same persons ! Kudos ! (If I'm not mistaken)

<comment><USER28> Over in PostgreSQLand ... Tom Lane is an important member of the PostgreSQL core team and also was involved in the PNG image format (and other graphics related efforts).

<comment><USER29> Yeah well the guy who wrote qemu also did ffmpeg.

</comment></comment></comment><comment><USER30> It is nice to see that CockroachDB's team keep their original vision of creating a long term open source "commons" of their database.

What I don't totally understand when I take my developer's hat is why the split between "enterprise" features under CCL and core features under APL/BSL is kept. Without the "enterprise" features, CRDB does not feel like beeing totally open source and open source users are sort of second-zone users.

Are open-source fans supposed to write clean-room implementations of the features (would it even make sense in the licencing model CRDB uses) ?

It would also be nice to have a licencing clause where a change of ownership of CockRoach Labs or the bailout of the company would trigger a licence change for the enterprise features (maybe even after N years).

But as I said congrats on the product and all the best in your commercial endeavour ! may this licence change open new cloud opportunities !

</comment><comment><USER31> I always hate these discussions.

If you want to get paid, then create proprietary software and sell it, if you can. Nothing wrong with doig it.

But if you are developing something you call open source software and you use GNU/Linux for it, then how much money should GNU and Linus get for you doing that?

You could go with Windows insteand and pay the licensing fee.

Here we have people building things on a foundatino of free and open source software, and they feel that they should get paid for the slice that they built, but are they themselves paying every party that was resposible for creating the stack on which they are working? I think usually not.

Everyone is quite happy to accept the free work done by others but they miraculously expect to be the person getting paid.

Now RedHat took GNU/Linux and figured they ought to get paid for creating a packages, a bit of an eco system around their version and sell support and such. Was that fair?

AWS offering some service, are basically doing hosting and support on the product. A lot of people trust AWS/Google/Microsoft to run things in the cloud for them.

Nothing is stopping me from creating ThinkBeat Linux and charge for support. Probably I would do very poorly because people now trust RedHat or Linode, AWS to handle issues around Linux for them.

I dont think if you create a new database managment system that ou think is great, users will flock from Azure/AWS/GCP/Oracle/IBM to pay you for hosting it for them. You are too small and too risky. Obiouvlsy some people will sign up and if you can earn money you need on that then good.

<comment><USER32> "If you want to get paid, then create proprietary software and sell it, if you can. Nothing wrong with doig it. But if you are developing something you call open source software and you use GNU/Linux for it, then how much money should GNU and Linus get for you doing that? You could go with Windows insteand and pay the licensing fee."

The problem with these discussions is they always set up this false comparison. Then, what's going on looks hypocritical. Here's what actually happened:

1\. Linus et al released Linux with a license that says, "Pay us nothing. Just give back any changes in code you distribute." That's their goal. Those with permissive licenses said "Use it and don't share anything unless you want to." That's their goal per the license agreement.

2\. Cockroach Labs started with a goal of making a huge pile of profit on a database whose core they keep as free and OSS as possible. The profit takes priority due to VC funding. That's their goals.

Cockroach making profit on Linus et al's work without paying them isn't hypocritical since their license's actual goal was to do that. Whereas, the SaaS vendors are posing a challenge for Cockroach achieving _their_ goals which require making money off their activities. Balancing giving code out as OSS and profit-seeking, they lightly-modified a license that starts as proprietary but goes Apache after 3 years. Personally, I think they're being way, way, too altruistic given what rate of return they're expected to come up with.

If anything, people that wrote their dependencies using freeloader-loving licenses are either achieving their goal of commercial uptake or need to pick a license that incentivizes their goals (or just blocks things they hate). If contributors, probably should contribute to software with strongest copyleft available. AGPL and Parity come to mind. Folks using licenses that don't require payment shouldn't expect payment. If folks want payment, then they should sell the software somehow with licenses worded to bring in revenue.

</comment></comment><comment><USER33> So they're taking their product proprietary. They're not the first to try this move. They won't be the last. It never works.

This change guarantees one of two outcomes: 1) CockroachDB becomes irrelevant, as cloud providers stop providing it, or 2) a FOSS implementation of CockroachDB's API (perhaps based on the last FOSS CockroachDB release) becomes dominant.

<comment><USER34> 3) The cloud provider forks at the version under the previous license, continues to iterate on it by adding valuable features that are exposed to users, which the OSS version won't have, and now the OSS vendor is playing both marketplace & technical catch-up at the same time and with each reinforcing the downside of the other. Effectively forcing original innovator into the position of being a fast-follower.

<comment><USER35> You mean like what AWS did with Elastic?

<comment><USER36> No. In that case, AWS built and released new Apache licensed, 100% open source extensions for Elasticache to make essential functionality like TLS encryption and authentication available to anyone. It did not fork Elasticsearch, it released a collection of software that works with the OSS core version of Elasticsearch.

Disclosure: I work at AWS on EC2, and sometimes provide my opinion on open source topics to other teams.

</comment></comment></comment></comment><comment><USER10> While I understand the move (similar to what Redis Labs, MongoDB, Confluent and many others have done recently), as one of the many contributors to these projects not affiliated with any company, it feels like a slap in the face. If such licenses gain prominence then having a healthy open source community for large-scale projects will be a thing of the past. As an outsider, it makes zero sense to be involved in the project if my code isn't really going to be open source until 3 years from now, and that can be delayed further or indefinitely if the company wants.

IMO the best way forward is for such projects to be run by non-profit foundations, not VC-backed companies.

<comment><USER37> I'm curious about this take. If I'm reading the article correctly it appears if you did not have plans to turn the software into a managed service this has no practical impact on you. Personally, for every open source project I've contributed to if this license has been in place rather than an open source one no one would have been impacted at a practical level (including those doing it professionally).

Aside from purely ideological concerns, what about these changes do you think will kill communities?

<comment><USER10> I think it's a combination of ideological and practical (and in some sense they aren't all that different). If they changed the license once, they can do it again. As a for-profit company they are obligated to their investors and shareholders, and at some point it is inevitable that they will find ways to start charging those who want to self-host as well.

The second part of this is that a large number of open source contributions come from employees at large software companies while on company time, and they aren't going to be allowed to do so any longer if the company isn't happy with the licensing terms of the project.

</comment></comment></comment><comment><USER38> Well played cockroachlabs. I find it awkward being an AWS user and knowing there products are something else under the hud, even when they do use the product name. It leads to user lock in, which is what they want. These addendum to licenses are what the world needs. Not sure it would work for certain products, like BSDs though, although they seem to get a lot more back from those who use them in products (Netflix is a good example)

</comment><comment><USER39> This is pretty interesting, I'm thinking about how edge cases will be handled. Consider a product like Airtable: at present I think most people would classify it as a consumer productivity tool. Firebase on the other end would be a platform as a service. Airtable is adding features that make it more of a platform as a service. I wonder where the line will be drawn for the new BSL.

<comment><USER24> (Cockroach Labs founder)

The details are in the "additional usage grant" clause: [https://github.com/cockroachdb/cockroach/blob/8acfe8ffd0028c...](https://github.com/cockroachdb/cockroach/blob/8acfe8ffd0028ce1d81a9b1148f7e9ba2673bf95/licenses/BSL.txt#L8-L16)

We decided to draw the line at whether the end user has direct control over table schemas. If users can specify the schema to be used, it's a database service and needs a license. If you're fitting everything into a generic schema (even if the user can specify things that look like new columns in the UI), it's an application and doesn't need a special license.

<comment><USER24> I'd like to thank our friends at TimescaleDB for the idea to use schema control as the dividing line (they're doing the same thing in their license)

<comment><USER40> Thanks, @bdarnell!

We at TimescaleDB spent a lot of time thinking about how to best express this dividing line in a manner concretely understandable by engineers. Glad to see others starting to take a similar approach.

</comment></comment></comment></comment><comment><USER41> The biggest thing that keeps me from even trying CockroachDB is that there's no clear licensing or managed server pricing on the website. It's all a sales funnel.

Of course, I don't mind and understand the license change. I just wish they were more upfront about pricing without being subjected to sales.

</comment><comment><USER42> And one more database removes itself from the Open Source community, and disqualifies itself as a dependency of other open projects.

<comment><USER43> So the open source community is about giving free labor to Amazon?

I've been an OSS user and contributor since the middle 1990s and I very much welcome these moves. SaaS has been getting a free (in the unfair sense) ride without contributing in any way.

<comment><USER44> No, the open source community is not about giving free labor to Amazon. But that's not what we are talking about. We are talking about members of the open source community taking free labor from the community and then pulling back on the open source promise. As someone in the same boat, I'd hate to see a project I contributed to change it's license to something that limits how the applications can be used. If something is licensed as MIT, I expect it to stay MIT.

Furthermore, the presumption that users of the software are now required to contribute back flies in the face of the agreement.

I'm not against people using a license like this. It does however seems a slap in the face to change the license after benefiting from the fact that you are releasing an open source product.

tl;dr: It's a bait and switch, and dislike it.

<comment><USER45> That is a valid point. Of course the question is, how big the contributions from the random people were. Judging by the list of contributors [0] a relatively small core contributed most, but I wasn't involved at any point so this is not a reliable assessment.

[0] [https://github.com/cockroachdb/cockroach/graphs/contributors](https://github.com/cockroachdb/cockroach/graphs/contributors)

<comment><USER22> Code is not the only type of contribution in an open source project.

</comment></comment></comment></comment></comment><comment><USER46> Open source is great, open everything is great. But if 99.9% of companies can't make any money on open source because someone big swoops in ... then open source isn't of much use to anyone. It'll drive everyone who tries, out of business or into forced acquisition by said big player. Then people will give up on OSS for anything but hobbies and software they don't care about... and the world as a whole loses out.

So... :+1:

</comment><comment><USER47> CockroachDB has raised over $50M of Venture capital which obviously pushes them on the "grow revenue fast" track, which is much easier if you do not have competition from the cloud vendors.

I think there is so much black and white positioning of this issue - competition from AWS does not eliminate revenue for the project, but reduces it, by a lot. It may not be enough for Open Source company which relies on heavy monetization

</comment><comment><USER48> Can outside contributors to CockroachDB get a cut of the licensing revenue? I mean, if cockroachlabs is upset that people are taking their open source code and making money without giving them a cut, should they also be upset that they are taking people's open source contributions to that code and not giving them a cut?

</comment><comment><USER45> Hm, wasn't one of the conditions to use BSL (the name of the license) that one of the "Change licenses" must be GPL?

I remember distinctly because while I liked BSL, I never understood why I couldn't use AGPL as fallback (which would be much better suited to my use case).

EDIT: It seems I was wrong:

> To specify as the Change License the GPL Version 2.0 or any later version, > or a license that is compatible with GPL Version 2.0 or a later version, > where "compatible" means that software provided under the Change License can > be included in a program with software provided under GPL Version 2.0 or a > later version. Licensor may specify additional Change Licenses without > limitation.

[https://mariadb.com/bsl11/](https://mariadb.com/bsl11/)

So Apache is OK, because such software can be incorporated into GPL app. AGPL is not, because it places additional restrictions.

</comment><comment><USER49> Good for CockroachDB, they need to make money. I understand I'm not their target user though, I stopped using them when they released Follower-Reads as an enterprise feature.

I'm back to Postgres for now but I can't stop thinking about the opportunity CRDB is missing by not releasing the enterprise features as part of the BSL- licensed core, that way I can use them from the very beginning(when I have no money) and when I grow and have traction, money and what not, then I can pay to scale beyond X amount of nodes/capacity a la MemSQL[0].

[0] [https://www.memsql.com/blog/announcing-memsql-free- tier/](https://www.memsql.com/blog/announcing-memsql-free-tier/)

<comment><USER50> > _I stopped using them when they released Follower-Reads as an enterprise > feature._

I read Cockroach Labs' strategy to be good on single nodes, great on single- datacentre cluster, phenomenal worldwide.

They offer single-DC features open-source, and worldwide enterprise-only.

Apart from SQL features, their open-source cluster offer seems superior to PostgreSQL. Sure, they do not have follower-reads, but neither does PG (which does not even have AS OF SYSTEM TIME, a prerequisite), and it is only beneficial with multi-DC.

Reads are still distributed by range, so there is no particular negative compared to Postgres.

Why was Follower-Reads a dealbreaker?

<comment><USER49> I'm not necessarily exhausting the physical capacity of a single datacenter to expand to another datacenter, I may expand early or from day one to run queries closer to the user even if the workload is a few seconds behind. I don't think Follow-the-workload works well for that scenario.

</comment></comment></comment><comment><USER51> Couple questions:

1) Is CockroachDB actually popular? Like sure they have a couple big users, but is it gaining traction?

2) Would it be as popular as it is if they'd started with this license from the very start?

</comment><comment><USER52> this seems like an excellent licence, clearly spelling out the intent of the copyright, rather than trying to fashion a one-size-fits-all set of rules. it reminds me of cory doctorow's point that, intuitively, if some community theatre wanted to dramatise one of his works, they should be able to just do so, but if a major hollywood studio wanted to film it they should require a licence, and it is hard to draft a copyright law that does this properly.

</comment><comment><USER53> > The one and only thing that you cannot do is offer a commercial version of > CockroachDB as a service without buying a license.

This is dishonest and deceptive. One other thing you cannot do is use their code and incorporate it in your open source project.

They used to provide an open source parser for postgres' sql syntax. Now it is closed source for 3 years.

I don't mind the license change. Lying however is not a good way to behave with customers or open source communities.

</comment><comment><USER54> As the link says: The one and only thing that you cannot do is offer a commercial version of CockroachDB as a service without buying a license

I like the idea and would support initiatives like this. If i really want to use CockroachDB then i'll install and maintain it myself on my own instances. In the long run this would also ensure that if i want to move away from AWS to another provider, i am not locked to an AWS service.

</comment><comment><USER55> Do bad actors get to hold good actors to the good actors principles? This seems unsustainable and a recipe for disaster, ie tolerating the intolerant whose objective is to gain power and stamp down on dissent and impose their own values.

Similarly If you do not believe in open source can you hold anyone else to account by the principles of open source? And if you are committed to open source do bad actors need to be given the same privileges that are extended to everyone else? Do they get to play the 'principle' card that they themselves do not adhere to?

Cloud providers are profitable and the work of these app developers arguably has a role in their growth and profits. AWS, GCE and others are solving all their business problems. Why should it be so difficult for them to build a mutually beneficial relationship with open source projects? Or the pipeline of projects they can use breaks down.

If they just want to take without adhering to the spirit of open source, then playing the open source card whenever confronted seems too self serving.

</comment><comment><USER56> Mongo is doing great for an OS product. Wonder if CRDB is trying to take a lesson from their playbook.

[https://www.google.com/search?q=mongo+db+capitalization&oq=m...](https://www.google.com/search?q=mongo+db+capitalization&oq=mongo+db+capitalization&aqs=chrome..69i57j0l2.6033j0j8&sourceid=chrome&ie=UTF-8)

</comment><comment><USER57> I wasn't able to find a link to the new license in the blog post but it is in their github repo for anyone interested [https://github.com/cockroachdb/cockroach/blob/master/license...](https://github.com/cockroachdb/cockroach/blob/master/licenses/BSL.txt)

</comment><comment><USER58> > The one and only thing that you cannot do is offer a commercial version of > CockroachDB as a service without buying a license.

How much a SaaS has to do to not be consider as selling CockroachDB as is?

These questions apart is worth noting that AWS can still copy CockroachDB APIs, rename it AWS Ants, and called it a day.

<comment><USER59> The "API" you are referring to is known as SQL, transmitted over the wire using the pgsql protocol. There's nothing to copy. The magic of Cockroach is in the implementation.

<comment><USER58> Not sure why they changed their license then. Doesn't AWS have already a Postgres-like database with RDS but also with DynamoDB?

<comment><USER59> Yes, it is indeed a little puzzling. CrB's biggest benefit is to people not interested in engineering their own scaling/sharing solutions for existing RDBMS options or if they care about optimal resource utilization (under a certain subset of conditions), neither of which are particularly draws for the AWS team. Perhaps they are more worried about other vendors.

</comment></comment></comment></comment><comment><USER60> Smart move and I really hope the BSL can be used by others outside of Cockroach DB either in its current form or as a template for a similar license. This is badly needed in our industry to protect innovators from rent seekers.

</comment><comment><USER61> This is really tough. I really want the redis and cockroachdbs to make money, but on the other hand I don't want to give my customer data to everyone. I give them reluctantly to AWS because, well, I guess at least one company has to have them, and while they are probably not perfect, I reasonably trust them to keep the data safe, but I'd really rather keep this to one. We could run the software on ec2 and pay a licence (we occasionally do that) but when we don't want to maintain things ourselves, we always turn to AWS, which saddens me a lot

<comment><USER62> I just had a look at [https://redislabs.com/pricing/](https://redislabs.com/pricing/)

If I understand it correctly, you can get Redis Enterprise Cloud, deployed on AWS. So, it's running on AWS, and it looks like they manage it.

That sounds to me like they are making an effort to meet your needs, of having it running on AWS (their FAQ mentions making sure that the AWS AZs are in sync), but not maintained by you.

</comment></comment><comment><USER63> I'm all for businesses coming up with whatever licensing terms they want. That said, as a user, it'll be a harder sell if I can't easily understand or validate what the license permits and doesn't.

For example, with their new license, could I fork cockroachDB, rebrand it, add considerable improvements of my own, and then offer that as a service? Or what if I'm not offering cockroachDB as a service directly, but the service I'm building and offering as a service can still be argued to be some sort of data-store?

<comment><USER64> _> could I fork cockroachDB, rebrand it, add considerable improvements of my own, and then offer that as a service?_

If you were to do that, even with current licenses, you probably couldn't call it CockroachDB anyway.

<comment><USER63> Ya, and I wouldn't, that's why I mentioned rebranding it.

</comment></comment></comment><comment><USER65> This is not the best way to compete with Amazon. The believe that their feature set is enough of a differentiator is probably delusional. CockroachDB does "massive scale SQL without manual shading". BSL won't hinder Amazon offering those features too.

If CockroachDB remained OSS, there would have been a chance of Amazon offering Elastic CockroachDB eventually, and at least make the Cockroach brand more popular. But now it will likely be an Aurora feature.

If you want to compete with Amazon, do something Amazon cannot do.

<comment><USER66> _The believe that their feature set is enough of a differentiator is probably delusional._

If their feature set isn't a good differentiator from other databases, then their company isn't going to succeed in any situation.

This strategy _is_ CockroachDB doing something that Amazon cannot do.

<comment><USER65> I estimate the odds that AWS Aurora will offer "massive scale SQL without manual shading" in the next 3 years to be >95%. Then why would anyone want to to use Cockroach? They need to differentiate on something else. Ideally something that Amazon is unwilling to do, or would find very hard to do.

<comment><USER50> Amazon may be unwilling or unable to be multi-cloud. Companies worried about being stuck in a silo may think twice if they have a more convenient option.

Besides, crdb does worldwide SQL databases now, and the only competitor at that level is not Aurora, it is Google Cloud Spanner, at a much higher price range and with very limited options.

<comment><USER67> The #2+ cloud vendors are hungry for marketshare, so they're showing signs of multi-cloud already (and already global). A bit reductive, but CRDB is now in an arbitrage game: will Google/MS/IBM/Oracle/Baidu/... pay $200M-$1B to buy them ($50M is a lot on the cap table), or they somehow pull off a rev share similar to "Azure Databricks" that they can bail before it goes to zero / find something more differentiating long-term.

Once every top infra team at MS & Google realized they can be a saas/paaas revenue center, not just saving 1% in internal costs, that made the whole "Google for everyone else" VC funding wave feel like musical chairs.

It does feel like a good ("least bad") move given the environment. We have taken an "embrace" approach to using/contributing to OSS and assuming commoditization of database+compute tech (Apache Arrow, Nvidia RAPIDS, ...). We've wanted to further open most of our code, not just those libs, so we're not the only ones writing funny distributed GPU webapp+etl stuff... but couldn't find a way that made sense so far. So, I've been watching with great interest, and good luck to the teams involved!

</comment></comment></comment></comment></comment><comment><USER68> I'm curious about the legal process of relicensing. Did they have significant open source contributors from outsiders? If so, did they have copyright assignment? And if not, then how valuable is it to them to be open source in the first place?

(Not trying to cause trouble; I admire Cockroach DB and its founders greatly! But I've watched open source struggle with this kind of thing for 20+ years and am increasingly curious about why businesses choose to open source their core technology.)

<comment><USER69> If community patches are licensed under MIT or BSD, all CockroachDB has to do is include those license texts in their proprietary distribution, which is the only requirement by both licenses. Proprietary derivative works are allowed under MIT and BSD.

<comment><USER10> It's different in this case, since there isn't a separate proprietary distribution. The entire codebase is being relicensed.

<comment><USER69> That's not how it works. Each commit is a "derivative work" of the last. If today a codebase is licensed under MIT, tomorrow you can change a single line of code, and this produces a brand new work under US and international copyright law. You can license this work under any license, provided you comply with the MIT license of the work that has been derived.

</comment></comment></comment></comment><comment><USER70> I had the impression cloud providers like AWS would move to using their own core services to emulate other systems and not host the original thing.

<comment><USER71> They already have - Amazon has Aurora, which has MySQL and Postgres compatibility. I'm sure if there's enough demand, Amazon will add CockroadDB compatibility to Aurora in the not-too-distant future.

<comment><USER72> > Amazon has Aurora, which has MySQL and Postgres compatibility

Which lags behind upstream in versioning and has its own quirks.

Or Redshift, which is still stuck in Postgres 8 and _absolutely_ has its own quirks.

<comment><USER71> > Which lags behind upstream in versioning and has its own quirks.

No doubt re-implentation will lag and will not be perfect (either buggy, or _not_ buggy enough to match reference). The big question: is it AWS users shopping for DBs, or MySQL/Postgres/CockroachDB users shopping for *aaS services? I suspect the former outnumber the latter, and they will likely tolerate being behind the bleeding edge.

<comment><USER72> I think it's still the majority of developers that first deal with databases outside a cloud environment and then want a managed version of it in their environment (which btw, Amazon does offer in RDS Postgres/MySQl, but it's their forks that have these problems).

And being behind the bleeding edge is problematic at least these days that databases are incorporating great features, but the bigger problem is incompatibility and subtle differences. Those are the truly annoying issues.

</comment></comment></comment></comment></comment><comment><USER73> When will CockroachDB release their managed service? Can't find any clear pricing nor a registration form on their website.

<comment><USER74> (Cockroach Labs employee here)

CockroachDB managed service is available today - you can sign up on the website and we'll get in touch with you [https://www.cockroachlabs.com/get- cockroachdb/](https://www.cockroachlabs.com/get-cockroachdb/) We will release a self-service offering where you can set up a managed cluster without having to talk to us later in the year. Re: pricing, we have different packages based on # of nodes, and size of node (storage, vpcu etc.) and happy to share that in a call.

</comment></comment><comment><USER63> Could someone say just take a normal open source license, like MIT, and just add a provision saying, if you are Amazon, Google, Microsoft, this license doesn't apply to you and you are not permitted to use the code in any way?

Basically, just blacklist certain companies that compete with you directly.

<comment><USER45> It's still not free/open/libre source anymore, because you are discriminating against someone, so it's not in-line with the set of freedoms as defined by both OSI and FSF.

Whether this matters to you or not is another question, of course... :)

<comment><USER63> Hum, I feel there's some ambiguity there. Like FSF says from here [https://www.gnu.org/philosophy/free- sw.en.html](https://www.gnu.org/philosophy/free-sw.en.html):

> A free program must offer the four freedoms to any user that obtains a copy > of the software, provided the user has complied thus far with the conditions > of the free license covering the software.

It's unclear what "obtains a copy" means. You could make it that certain companies are not allowed to "obtain a copy", and thus if they do, it is through illegitimate means.

For example, it goes to length to say Free software does not mean gratis. So I'd suspect it would claim that if software is sold, and you pirate the copy instead of paying for it, you have broken the conditions of the free license. But if you paid, and a copy is delivered to you, from that point on, the four set of freedoms are granted to you over the copy that was given.

So, I can see something where, it is gratis, but obtaining the copy is not granted to everyone, but only to some, depending on if you're a potential competitor or not. And that seems like it could still fall under that definition of Free Software.

<comment><USER45> Sure - except that under their definition of freedoms you are allowed to share software with anyone, so while you can sell it to the first person, they can freely share it with anyone.

But truly, I don't think looking for holes in definition of freedom would help anyone. The question if, do these definitions achieve what we have set out to do, and in what way? If yes, great. If not, maybe the time has come to define another set of freedoms, which still protect users better than closed source, but allow developers and maintainers to make money from their creations. And yes, they will not be open source, so we might as well come up with a different term.

</comment></comment></comment></comment><comment><USER75> Even if cloud providers give back more than they take, there nothing legally stopping them from stealing an open source project as their own. The Business Source License (BSL) seems like a good reaction. What Amazon did to confluent.io and so many others seems pretty cold hearted.

<comment><USER65> Stealing an open source project would be like saying stealing quick sort. You can't steal something if it was given to the public domain.

<comment><USER76> > Stealing an open source project would be like saying stealing quick sort. > You can't steal something if it was given to the public domain.

Most open source projects are not given to the public domain, but encumbered with clauses in the form of their license.

<comment><USER65> Permissive licenses are basically public domain with some attribution clauses and litigation indemnity.

</comment></comment></comment></comment><comment><USER77> Since "Redis" and "Redis Labs" are mentioned multiple times among the comments, here is my gentle reminder that Redis is BSD licensed, and only additional modules provided by Redis Labs have a different license.

</comment><comment><USER78> I wish them well but fear this won't work out for them. This sounds like a smart move until you realize that they are just one of many players in a crowded market and that this actually decreases their value proposition for end users and external contributors. Having less of both is bad news for an OSS project, no matter how you spin it.

The way I see it this type of company has a short term value that derives from them being first (more or less) to market with whatever it is they do well. In this case, their thing is having a sharded/clustered db that can replicate across datacenters and with serialized transactions.

Awesome, that's a great thing to have and it will take other databases a while to get there. But they will eventually and that matters. This stuff commoditizes quite rapidly. It's based on published research by Google half a decade ago and people can look at the source code and algorithms. It's just a matter of time before somebody else figures out how to replicate what they do in some other product. Somebody like e.g. the postgresql developers: [https://tapoueh.org/blog/2018/07/postgresql-concurrency- isol...](https://tapoueh.org/blog/2018/07/postgresql-concurrency-isolation- and-locking/) and [https://pgdash.io/blog/postgres-11-sharding.html](https://pgdash.io/blog/postgres-11-sharding.html). It's probably not perfect yet but they are obviously heading the same direction and there's a notion of good enough and diminishing returns.

When it does catch up, it all reverts to which is the best product in the market. Part of that is features but another part of that is a robust developer community and having access to robust support and hosting options from multiple companies. A failing VC backed company that controls the code base and treats it like a walled garden means that community is only as good as that single company behind it, i.e. not very good. It simultaneously repels potential users and contributors thus slowing down adoption and development speed while increasing the R&D burden for the single backing company to not fall behind any further. They can't win that game.

In a nutshell, postgresql does not have that problem and it never will. Mysql doesn't have that problem either. Both developer ecosystems consist of collaborating frenemies that work together because it is better than not doing so. Both provide pretty good database solutions with plenty of hosted solutions (including Amazon and other cloud providers), commercial support via several companies, etc. Also both are pretty much guaranteed to continue to have active development for as long as there are people willing to sell their time doing that and there are so many companies using both that there is just no way that that would change within the next few decades or most likely this century. Essentially all of the current companies behind both could go bankrupt and all that would do is create an opportunity for new companies to step in and take over.

</comment><comment><USER79> I really like this company, and their developers. Solid tech vision and the actual tech chops to pull it off.

 _I don 't like the drama that seems to surround it._

This post is just one more vote in the "this company has a lot of drama associated with it", and that to me is always a giant blinking warning sign.

Without knowing anything about them (though I do), at this point, I would bet this company flames out eventually, fails to get further funding, and institutes yet another license change to milk the dying cow while the talent flees for greeter pastures. Best case they get acquired by Microsoft, worst case Oracle (I'm sure their users would _love_ that). Or just fade away.

Anyway, my $0.02. I hope I'm wrong.

</comment><comment><USER80> Will be interesting to see how other open source projects like ArangoDB (Apache2), Timescale (Apache 2) or Scylla (AGPL/Apache2) will react.

</comment><comment><USER81> The interesting thing is that, some of AWS products have weird name (hard to remember, strange or new), while it's actually built from OSS.

</comment><comment><USER22> If you have this page open, please beware of your battery. It's currently consuming 200% CPU whenever it has focus.

<comment><USER82> Works fine for me.

</comment></comment><comment><USER83> So BSL now means "Boost Software License" and "Business Source License". That's not confusing.

</comment><comment><USER84> TBH, I think _renaming_ CockroachDB would do it more good than relicensing. All other things being equal, I think it is safe to say that nobody wants any cockroaches in their infrastructure. I think it's also safe to say that few people know in detail what CockroachDB is, and its name creates additional friction to more people figuring it out. If you disagree, call your next database project TurdDB or something and see how it does in the marketplace. Names matter.

Call it something high-tech sounding and inoffensive. Now that it has some notoriety it no longer needs a controversial name.

</comment><comment><USER29> > or embed it in their applications (whether they ship those applications to > customers or run them as a service). They can even run it as a service > internally. The one and only thing that you cannot do is offer a commercial > version of CockroachDB as a service

Great so I will write a little shim that loads libcockroach and call it TermiteDB and I'm set.

<comment><USER85> Intent matters in the law, and judges see right through transparent attempts to evade the spirit of agreements on a frequent basis. They aren't stupid.

</comment></comment><comment><USER86> Maybe a good time to change the name as well? Funny names are cute and all but if you want to gain mainstream acceptance for your database product CockroachDB is not the one I would have picked.

Downvoters: if you think names for products do not matter you are mistaken.

<comment><USER87> > _Downvoters: if you think names for products do not matter you are > mistaken._

Disagreeing with your particular opinions on a particular name doesn't imply a belief that names don't matter.

<comment><USER88> The belief that names are particularly important to corporate software adoption _and_ that _CockroachDB_ is a good name for such a purpose is probably pretty rare.

<comment><USER87> I don't care one way or the other about the name. But if you're marketing directly to engineers who want a resilient solution, there's probably an argument to be made.</comment></comment></comment></comment>


Why companies lose their best innovators (2019) - <AUTHOR> https://www.forbes.com/sites/kmehta/2019/07/11/why-companies-lose-their-best-innovators/#72eade2032e1 <comment><USER3> Most companies seem to screw it up once they leave the startup stage and enter the growth stage. Incentives schemes aren't designed to 'reward' failure, but zero risk-taking.

It seems to be that simple: If you WANT innovation, you'll get innovation.

What most people (at least those willing to climb the corporate ladder) want however is a career. And within a corporate incentive structure, career and failure don't go well together. Creating value out of nothing is way harder than simply not screwing up existing value. So it's obvious what you're gonna get.

Eventually, there is no such thing as 'corporate innovation'. There could be a thing called 'corporate sponsored innovation garage', or something similar. At least for new business development from the ground up.

The promising way to pull that off it seems is a blend of YC startup school tutoring, venture capital, [Google] X, the innovation culture of Tesla/SpaceX and access to cutting edge technology/people - baked into the right incentive structure.

IF innovation was repeatable, I'd bet on such a vehicle and allocate resources there.

<comment><USER4> > Creating value out of nothing is way harder than simply not screwing up > existing value.

I disagree. Not screwing up existing value is way harder than simply creating value out of nothing.

<comment><USER5> This is an extremely odd position to take. The failure rate of startups vs. large companies alone is enough data to disprove it.

<comment><USER6> Large companies have more value than startups, so it takes more time to lose that value. Large companies also have expertise in value preservation and value creation. Startups usually only have expertise in value creation.

I'm not sure I 100% agree with the statement, but it's an interesting perspective to try from time to time.

</comment></comment></comment></comment><comment><USER7> Corporations aren't really meant to be all that innovative. In practice corporations are designed to be extremely disposable. They can be unwound up on failure and spun up relatively easily. There isn't a rule saying that these companies can't innovate, but why should Cisco even be trying to write a teleconference client? There is no fault to be found that they didn't capitalise on what became Zoom.

Best of breed corporations are often characterised by a focus on key ideas and their variations - look at Apple, pretty much all their products are variants of an iPad at different sizes and different target audiences. Picking some other global Fortune 500s: Walmart and Amazon, profound dedication to logistics. DuPont knows chemistry, Boeing mastered turbulence and propulsion. A couple of big extractors that know how to claim resources from the natural world. These companies are all very innovative, but also profoundly focused. They will really struggle to cope with innovations that aren't in the area of their strategic edge.

It isn't a loss to anyone if the next trillion-dollar idea spins out as a new company instead of growing within an existing major. If someone has great ideas, we should invest in the person not in their employer. And they should stand to profit from their own success.

<comment><USER8> I've given this some thought and developed a notion that I hope to actually implement. Critique welcome.

Large companies can identify innovators, or at least learn to do so. In some cases, it will be as obvious as the founders of companies they've acquired. In other cases, it may be simply polling the engineering and product management ranks and tracking down those who are considered innovative by their peers. Or, you may even make it egalitarian and offer developers a 'year of invention' after some number of years at the company.

One point I think is key is to create an environment that is conducive to innovation. Relaxed administrative obligations, flat organization structure and a budget. Nominal oversight and justification requirements. Then, a simple guideline: What is developed needs to be on a path to becoming a product or service the company could offer.

Innovators could be supported with HR for finding contractors or consultants to work with, purchasing for buying components or equipment, marketing and business development persons could be assigned to the program to help innovators with business plans, cost and pricing analysis, market research. The innovation organization could be placed in a work space with dedicated space for their project, and a common space to meet and collaborate with other innovators.

Rewards for successful products could simply be additional stock grants and recognition, or perhaps simply another tour of innovation.

The risks would be if the program were abused and budget misspent, or the innovator simply didn't do any real work, or went off the rails with their projects. Also, development projects could have many budget sizes from virtually nothing to multiple millions. Perhaps the business development partner could help with proposals to request additional budget, once prototypes were far enough along to be compelling.

A multi-billion corporation could easily allocate a few million to this type of environment and keep a dozen or so innovators busy. You'd only need one success every so often to make it worthwhile.

<comment><USER9> Also, time. A year should be a year, not two week periods with endless "how's it going?" and check in meetings where you need something to present.

<comment><USER10> Ugh.. This hits too close to home.

</comment></comment></comment></comment><comment><USER11> It really comes down to personality.

Highly creative people generally rank low on conscientiousness. Organisations as they grow need ALL their employees to be conscientious: organised, punctual, goal-oriented, accountable - to not just to control outcomes but maintain cohesiveness.

Organisation culture stifles those type of people.

For an organisation to keep their innovators they need to be siloed away in an autonomous 'Skunk Works' where they can be free from the bureaucracy required to run a company.

<comment><USER12> > Highly creative people generally rank low on conscientiousness.

Are you sure about that? I would rather assume that highly creative people often rank low on "tolerating bullshit" instead of having a low conscientiousness.

<comment><USER11> Conscientiousness can be broken down further into 5 factors: two of which correlate with openness to experience: industriousness and achievement. Creatives tend to be low on the other three: order, dutifulness, and deliberation.

Probably safe to say dealing with other people's bullshit gets in the way of industriousness and achievement and leads to low agreeableness. ;)

<comment><USER13> Generalizations like those need solid data to back them up. As it stands, it's just pushing a pseudo-psychological narrative.

<comment><USER14> Explanation for your downvotes: GP's description is not a generalisation or pseudo-psychological, but reflects the current standard model of personality in psychology. [http://enwp.org/OCEAN_model](http://enwp.org/OCEAN_model)

<comment><USER13> Thanks for the link. Actually, I think the downvotes were somewhat deserved. I wasn't careful enough to set the proper tone of my critique.

In any case, I just wanted to point out here on HN we value those who back up their claims with good data.

You did this. So, thanks.

<comment><USER11> You may also have been thinking of Myers-Briggs which is pseudo-scientific nonsense and quite worthless given the ease it can be gamed when answering the questions.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I am the kind of person to submit 30 ideas to internal innovation challenges. I was an innovation intern for a bank. I have won many innovation awards from competitions they hosted to find ideas.

How many of those ideas got out of the page/prototype stage? 0.

Because it seems like the important thing for many is to seem innovative. After that part has been done, interest disappears.

Everyone would rather you excite them with a new idea. So much of this "innovation" stuff is about media and being trendy.

<comment><USER15> Waterproof hairdryer. You can dry your hair in the shower while you get it wet.

<comment><USER9> Shall we?

[http://www.ycombinator.com/apply/](http://www.ycombinator.com/apply/)

</comment></comment></comment><comment><USER16> Another great example of an innovator who was not rewarded is Shuji Nakamura, who invented the blue LED, which led to a lot of other successful products including the white LED and the bluray disc platform. Nakamura was not rewarded by his company, went on to win a Nobel prize with collaborators from his company. Nakamura left the firm, sued the firm and basically walked away with nothing. He's now an academic at an American university.

</comment><comment><USER17> There is a reason companies don't encourage internal innovation.

It has nothing to do with managers, HR, or what not.

Say you have 100 innovators in your company. Everyone comes to you with an idea, as an SVP or a Director, can you agree to all of them? You obviously pick and choose. And how can anyone say a new product / service by a company is not the result of an internal innovator?

Alternatively, in the safe environment of a company, as in the innovator is getting capital and resources from the company finances, I think it is more likely that people are more free to give out ideas, even crappy ones. It's easy for a good idea to get lost in the noise.

Ultimately, what is the solution to this? I guess you have to fundamentally change the structure of companies itself.

In the given example, if Cisco were to transfer the innovator to another division, give him some money, on the same terms and conditions as a VC, perhaps it would have borne fruit.

Essentially, it's easy to see companies, once a certain size, are effectively hard wired to move at a slow, glacial pace and focus on sustainability, rather than fast and fail innovation.

<comment><USER9> > Everyone comes to you with an idea

Is this actually happening? Are ideas being pitched at a high rate? As at every company I know of that has held an internal innovation competition, interest is quite low.

<comment><USER18> > internal innovation competition

As in, an opportunity to give away good ideas for no cash and no equity?

<comment><USER9> They usually have cash prizes, or at least electronics.

<comment><USER17> In a lot of big companies, there is always a huge distrust in the management.

Seems to be true even cases like Google and Microsoft.

<comment><USER9> That is having too many expectations. You should go into this expecting them to give you a small bonus. That is it. You don't have some idea you value at under $1000?

</comment></comment></comment></comment></comment></comment><comment><USER19> Zoom is a particularly good example because it shows the same cycle the "chat" space has been stuck in since 1993 or so.

For a while IRC was cool, then it was CUSeeMe, then there was Paltalk, and ICQ, and AIM, and Microsoft Messenger and Skype and Lync and Skype for Business and Google Talk and Facebook Messenger, and...

If you look at them closely you can find some improvement (e.g. Zoom has a server that makes the "Hollywood Squares" view of all the participants) but if you look at them broadly they don't seem to have gotten better over time, they've just locked people in, stagnated, then something new comes along. It's hard to see how Facebook Messenger is different from AIM except for what it is locked in to.

If the EU really wanted to show some leadership it would put an outright ban on proprietary chat programs and force them all to use open protocols. Think of it as a part of a "computer user's bill of rights". Every time somebody wants me to download some new chat app I want to throw a hammer through a screen like that Apple 1984 ad.

</comment><comment><USER20> This is a tough problem for companies. At my last job there was an "advanced concepts" group which had a lot of freedom and latitude, but they had a poor reputation for not really producing anything useful. The few things they did produce had to basically be redone since the quality of engineering wasn't ready for production.

I'm not sure how to fix that, since lack of freedom wasn't the problem! It probably is just making sure that the right people are leading.

I also don't know how to reduce other engineering groups more focused on practical projects resenting the innovation group working on more fun, low stress projects. That is a hard political problem.

<comment><USER21> This is a ying and yang issue. For every advanced concepts team, you need a non-techy business and marketing team to pull ideas out to the world.

</comment></comment><comment><USER22> as an innovator, I stayed at a company which was extremely resistant to innovation because nobody had any idea how few hours I was working for a decade. So while they resisted all my innovations for that decade, I was spending most of my time doing everything I wanted to outside of work.

<comment><USER23> Can you elaborate?

<comment><USER22> I worked remotely, very few hours per day, and nobody knew how few hours I worked because I was still the person they gave all the hard problems to and ripped through all my tasks quickly.

But any innovations put forward were rejected through political games played by non remote employees. On some meta level I was fine with that because while they saw those as petty wins I was living a life of freedom working less than half the day.

Since then I realized the same level of freedom could be had with people who care to leverage innovation instead of striving to fight it. Life was very good, now it's great.

<comment><USER24> Hi thanks for your post.

It jumped right out at me and I had to login and reply right away - because my experience is the same as yours, verbatim, for the first part!

I'm presently as you mentioned: fully remote, fixing the hard problems so they keep me well rewarded, doing it part time and enjoying the freedom, the org is political and non remote with culture issues stifling true innovation .. its striking in its similarity I feel like we could be work twins!

I would love to talk to you about the next level, what it is for you and also how you got there. If I can, how can I get in touch with you?

</comment></comment></comment></comment><comment><USER25> The company I work for drives me nuts with this. We do tons of research and innovation on the software side of things. But because hardware takes longer we almost never do any research or try out anything risky because we are always the critical path on the schedule.

The funny thing is, whenever we have hackathons, hardware teams always end up winning because someone has been sitting on a cool idea that they would never have the time to investigate during their normal job duties.

We have definitely lost a couple of our good people because of this attitude.

</comment><comment><USER26> Mature companies can become vehicles for protecting management/investor wealth. This forces them to act far too conservative. Management starts to see it like we might see our mortgage or savings.

As such, they want to build a "fortress" to protect the current business model. Innovation- even internal innovation - can upset the apple cart.

Making things worse, executives running a mature company are often very operations oriented. They're not the same mentality of a founder (who are conversely often terrible at streamling operations!).

</comment><comment><USER27> Big companies have their own roadmaps, managers have their own agendas. There is no resources for innovative weirdos. Especially in the world ruled by bookkeepers. In my experience not much technical guys make it into middle management. And you can explain 100 times simple technical improvement in the simplest words to a bookkeeper. He will not get it!!! Instead engineers will play another session of design thinking to check innovation box on somebody's checklist.

</comment><comment><USER28> This is exactly what happened to Lightwave (a revolutionary 3D animation software). Management refused to allow the engineers to address pressing concerns so the chief engineer left to create another company whose products modo has now eclipsed Lightwave [https://youtu.be/DiOX-D2B8LE](https://youtu.be/DiOX-D2B8LE)

<comment><USER29> Same thing is happening to modo.

<comment><USER28> Really? So soon? Can you be more explicit?

</comment></comment></comment><comment><USER30> If you have an idea of sufficient merit what would incentivise you to give it up to your employer versus quitting and trying to do it yourself? I realise that startups aren't for everyone but the alternative seems far less appealing and doesn't guarantee you any control over how it's executed (and very likely none of the reward).

<comment><USER31> This is a dilemma I struggle with currently. I have several product ideas that I can either run 100% on my own, or I can try to convince my current CEO that we should start building these out and selling them to our existing client base.

The advantage of starting your own path is that you get 100% autonomy over every decision and every client that you take on. This can give you an incredible uplift because nothing is ever in your way from an organization/people/politics angle.

The disadvantage is that you have to rebuild all that corporate boilerplate in order to establish name/brand/reputation/process/etc. You also don't have many constraints acting upon you when starting from zero, and you can wind up making piles of decisions that roll-up into disaster.

I think the best course of action would be to present your ideas to executive leadership. If you can secure some equity share in the organization or products you propose, this is easily the fastest and least stressful way to get them to market. Being able to reuse your same HR, marketing & sales teams can save you potentially years of headache.

If your current organization is gigantic or otherwise inflexible, you are probably best suited building out your project on your own time, incorporating LLC over the weekend, etc. One day you just put in your notice and move on with your dream.

</comment></comment><comment><USER32> >If someone drives a billion dollars of incremental value then why not pay them $25 million

LOL, You are lucky if your managers did not take credits of everything you achieved.

</comment><comment><USER33> I have the feeling that the introductory story about Zoom and Webex wasn't quite like that. I think I remember some HN comments detailing it.

For one thing you can't "just" create a replacement; you need employees, capital etc.

So it was much more likely a game of politics rather than one of innovation.

A more useful example would be one involving engineers, not a senior tech exec.

</comment><comment><USER34> Companies also lose their worst innovators the same way - we get to find out who was which afterwards.

(*) we find out through success or failure, which is at best a proxy.

</comment><comment><USER35> An important consideration is corporate focus.

Any organization (not just a corporation) has to have a lodestar; a "shared vision."

In some cases, this is a "boat anchor," preventing the organization from moving forward, but in many cases, it is the thing that holds it together, and allows it to continue its existence; albeit, at a humble scale.

Sometimes, a "boat anchor" is necessary.

Not all organizations are about continuous growth, or even innovation. They may be a "do one thing, and do it well" type of shop, where growth and innovation can actually be harmful.

I know, because I worked in a company like that. They found a product line that was crazy profitable, and it changed the company culture quite drastically. For many years, the company grew like a wildfire. The focus became "blurred." Lots of money poured in, but I feel like the company may have "lost its soul," so to speak. The original "lodestar" was never sufficiently replaced with a new focus.

Then, the bottom fell out of the market, and the company suffered an implosion. They contracted back to their "roots," where a conservative mindset took over.

Will they survive? I'm not sure, but over a century, they did weather numerous disasters and roadblocks (like having a lot of their assets turned to kindling in war). I sincerely wish them well. Despite my frustrations there, I have nothing but respect for them. I learned many important values that I never would have learned at other organizations.

But they are like a cactus; ideal for the harsh conditions of a desert. They are not well-suited for temperate rainforest, where so many other plants thrive.

Innovation and risk-taking was difficult (not impossible) at that company, and many of my efforts to introduce change never bore fruit. It was my decision to remain with them, despite that.

Basically, some organizations are just not places where innovative staff can thrive. They are stony, dry soil; ideal for cactus, but not for redwood trees. That is not always a bad thing.

In those cases, the innovators either have to accept that they will have to live within great constraints, or they will need to move on.

</comment><comment><USER36> Midway the article talks about risks and incentive, and that not all innovators will want to leave the nest. I'd say though, if you're already in a place where you're internally innovating, by virtue of the fact that you've already deigned to challenge internal culture, practices, or product roadmap, you're the type to take high-payoff risks. There should be a strong positive bias for leaving among internal innovators.

Probably the only reasonable way for a company to be able to take profit from these innovators is to make it easy to spin out with a favorable equity position.

</comment><comment><USER37> > Creating a billion dollars of incremental value at a startup yields untold > riches for the entrepreneurs behind the venture. Creating a billion dollars > of incremental value within a large corporation may be recognized, but the > rewards are nowhere near the same level as a startup.

Isn't this the most obvious reason? If you have an idea and the capabilities to develop it for your own gain, why would you do it so the shareholders of your old company can buy a new yacht, while you struggle to buy an apartment?

<comment><USER38> Because the risks are different. Most startups fail and founders often lose money. At a big company, the risk of failure still comes with a fulltime salary.

</comment></comment><comment><USER39> I don't think this has anything to do with the particular reward structure at one company or whether this or that company encourages it. It's a structural problem.

Unless innovators are rewared with equity _in the innovation_ (not the broader company - the reward needs to be tightly coupled with the power of the innovation), there's no incentive to produce extremely successful innovations. You won't be rewarded for outliers. That's all there is to it.

<comment><USER40> In most companies you will be penalized for outliers, high risk projects often come with their share of detractors.

<comment><USER41> It is worth noting that a project that would raise internal criticism would often have a reasonable chance of success as a startup in its own right. Investors are generally more rational than colleagues.

</comment></comment></comment><comment><USER42> Not saying i had the best work life balance, and ive learned my lesson of not wasting air time on deaf ears...

I was so enthusiastic after graduating .. i adopted the product, made it upgradable (8 year old repo, 1 programmer before me who was a sysadmin) - <USER2> it into a modern 12 factor app, before i even knew what that was.

One thing i learned is that innovators dont belong in certain environments .. those innovators didnt belong where they were .. and that was their wake up call, at least, it was mine.

Now i found a work place that appreciates me energy, and took me in as a fullstack dev and im so thankful, and careful. Im sure some devs there cant hear what i have to say. I learned, to speak less. Do more. Hobby? Ill make my own. A work place needs me to make it better - not to have me judge it .. its not easy thing to balance or properly execute if you Want to keep your soul.

For my next job, I was careful, it took me 4 months of interviews that tried to pitch a junior/mid and secretly wanted a senior .. but eventually, i found a home.

But sometimes its really necessary to wake up, and see that your efforts are being wasted, and move on. Left them better than i found them, and but i neglected myself and it was a valuable lesson in self care and the significance of my own time.

Another important lesson is growing beyond having milk teeth .. we should look around, and see where we are, and what kind of people are there ... are we making enemies, or injecting spirit?

Its no easy, those devs didnt belong in those companies to begin with. It was a life lesson to all involved.

<comment><USER22> It feels very different once you escape a toxic environment. It's as true for us as engineers as it is for victims of domestic violence or any other sort of toxic relationship.

<comment><USER42> a powerful experience .. it does feel like a new lease on life.

</comment></comment></comment><comment><USER43> Not sure there is a solution for this. To create a money machine like Cisco is extremely difficult and valuable. It is natural that the culture becomes more conservative, plus large orgs are conservative by necessity and bureaucratic. Also, most innovators won't put in max effort when they dont have full control and are under tremendous pressure. In a big rich org like Cisco, the comfy status quo is always whispering to you.

</comment><comment><USER44> This article is confused in its examples. The Nespresso story was posted yesterday.

Cisco is pretty explicit about the model: its not uncommon that someone quits to develop a promising technology (and even someone else quits to develop an alternative approach). If one or both fail, or come in second, you VP an get your job back. While if one succeeds Cisco can buy the company.

This allows them to provide bonuses for developing something new without screwing up their comp system and allows smart people to develop new stuff even if there are institutional biases.

For many years they were an acquisition machine for this reason. Really the opposite of today's "Acquihire" model.

So not a failure at all.

</comment><comment><USER45> Companies - especially market leaders - are averse to creating products that compete against themselves.

<comment><USER46> That is precisely what Steve Jobs explains quite well in his biography. He says, if Apple does not invent the next big product, someone else will. So, why not cannibalize our existing product with new ones than let someone else do it? But, not all companies are Apple and not all products are the same. So, it really depends if companies what to take the risk.

<comment><USER47> Still, there are some expectations from customer that limit the product's innovation. Let's take Iphone, from the first version to latest one customers expect a slim phone with touch screen.

Customers want "this product but better", that the innovation will be limited around that product's initial characteristics.

Of course another line of product can be independently developed, but it's riskier as customers may or may not want that kind of product.

<comment><USER46> Certainly agree. Except for the watch, Apple has made existing products way better than how they were initially introduced. In fact, pictures taken using the iPhone are almost as good as a high end digital camera, if not with a DSLR.

Having that said, I think the new product innovation has ground to a halt after Steve Jobs, mainly because of the overall mindset of the company changing from a services centric one from a product centric one. Their focus has gone onto News, Music, Storage, Cloud and other service areas. Macs and Phones continue to get refreshed but are too pricey for the quality they offer, which is why they have not been able to make a dent outside EU, US and China (or in other words, emerging markets).

</comment></comment></comment></comment><comment><USER48> I really don't see this as a problem, the current org already has a focus on a product it innovated and the innovator leaving for their own venture allows themselves and fellow risk takers to capture more value for their idea, thus distributing wealth across a broader spectrum. This is how it should be. Had said innovator brought their product to fruition under the current corporate umbrella they would get a bonus and promotion at best. Meanwhile the product would not be the corporations core focus or competency and would most likely be diluted to help push their core product.

</comment><comment><USER49> Fixing this will be the exception rather than the rule. The author identifies it: the incentives are all wrong once you become a mature company.

How likely is it, for instance, that Zoom will internally develop the VR chat app that will be to Zoom what Zoom is to Cisco?

<comment><USER50> Could be likely and still not the right idea or execution. Most comments on Zoom is hindsight and survivor bias.

<comment><USER51> And narrative curve fitting. I doubt the story was as simple as some laid it out.

</comment></comment></comment><comment><USER52> This article reminded me of a book by Ed Catmull (one of the founders of Pixar) called Creativity, Inc. The book is essentially about how Pixar has worked to foster creativity in a company where their business model pretty much relies on it. There are also some interesting Steve Jobs tidbits as well. I didn't really like the second half of the book, but the first half was fantastic!

From my personal experience, I think the major thing that always stymied creativity for me was office politics. Having to constantly watch your back for someone with a knife can really drain your energy from just, you know, doing a job you otherwise enjoy.

</comment><comment><USER53> Zoom didn't succeed at Cisco's failure. It wasn't Cisco's lunch that was eaten. Zoom succeeded _because_ the founder left and organized a venture. A new organization, a new culture, new leadership, and so so much luck contribute to the outcome.

Only thing Cisco could have done better was establish a venture capital division to fund work beyond its internal controls. Yet, they would probably only fund ideas by top performers and this in itself wouldn't ensure greater success because metrics, politics and culture driving employees performance do not imply excellence or deficits.

</comment><comment><USER54> Is there a bit of survivorship bias in this? You hear these stories about how some big company poo-pooed some employee's idea, only for that employee to run off and turn it into the next big thing, but you never hear about all the ideas that never quite worked out.

I not saying big corporate environments don't stifle innovation but maybe there's some sanity in not investing in every "innovative" idea?

</comment><comment><USER55> If you innovate, you have to have the freedom to fail, often repeatedly. Most companies (large or small) do not tolerate failure, especially the repeated kind.

<comment><USER56> I heard the opposite, where people like those who tried and failed, which is why trump's failures were seen as good. Its better to try and fail than never try.

<comment><USER55> It's different if it's your own company though. You can fail as much as you want, until you run out of money. :-)

</comment></comment></comment><comment><USER57> When corporations are actively pushing a "skills don't matter" narrative innovation isn't even in the ballpark anymore.

</comment><comment><USER58> Innovation is 2 types 1\. Incremental 2\. Disruptive And Context is 2 types 1\. Internal 2\. External

Totally we can see 8 options here; Pick the best one that fits in your company;

</comment><comment><USER59> I have not ever been working in a company, which would reward innovation meaningful way. Why I would give any ideas free for anyone?

If I have a good idea, I will benefit for it or nobody.

</comment><comment><USER60> Related article of mine. Why good organizations decline:

[https://realminority.wordpress.com/](https://realminority.wordpress.com/)

</comment><comment><USER61> [https://news.ycombinator.com/item?id=23886158](https://news.ycombinator.com/item?id=23886158)

> _Three reasons companies lose their best innovators._

> _1\. They fail to recognize and support the innovators_

> _2\. Innovation becomes a herculean task_

> _3\. Corporations don't match rewards with outcomes_

While the paragraphs under point 2 do discuss risk and the paragraphs under point 3 do discuss rewards, I'm not sure this article belongs here.

Risk and Reward.

Large corporations are able to pay people by doing things at scale; with sufficient margin at sufficient volume to justify continued investment. Risk is minimized by focusing on ROI.

Startups assume lots of risk and lots of debt and most don't make it. Liquidation preference applies as the startup team adjourns (and maybe open- sources what remains). In a large corporation, that burnt capital is reported to the board (which represents the shareholders) who aren't "gambling" per se. "You win some and you lose some" is across the street; and they don't have foosball and snacks.

How can large organizations (nonprofit, for-profit, governmental) foster intrapreneurial mindsets without just continuing to say "innovation" more times and expecting things to happen? Drink. "Innovators welcome!". Drink water.

"Intrapreneurial." What does that even mean? The employee, within their specialized department, spends resources (time, money, equipment) on something that their superior managers have not allocated funding for because they want: (a) recognition; (b) job security; (c) to save resources such as time and money; (d) to work on something else instead of this wasteful process; (e) more money.

Very few organizations have anything like "20% time". Why was 20% time thrown off the island to a new island where they had room to run? Do they have foosball? Or is the work so fun that they don't even need foosball? Or is it worth long days and nights because the potential return is enough money to retire tomorrow and then work on what?

Step 1. Steal innovators to work on our one thing

Step 2.

Step 3. Profit.

20% Project: [https://en.wikipedia.org/wiki/20%25_Project](https://en.wikipedia.org/wiki/20%25_Project)

Intrapreneurship: [https://en.wikipedia.org/wiki/Intrapreneurship](https://en.wikipedia.org/wiki/Intrapreneurship)

Internal entrepreneur: [https://en.wikipedia.org/wiki/Internal_entrepreneur](https://en.wikipedia.org/wiki/Internal_entrepreneur)

CINO: Chief Innovation Officer / CTIO: Chief Technology Innovation Officer [https://en.wikipedia.org/wiki/Chief_innovation_officer](https://en.wikipedia.org/wiki/Chief_innovation_officer)

... Is acquiring innovation and bringing it to scale a top-down process? How do we capture creative solutions and then allocate willing and available resources to making that happen?

awesome-ideation-tools: [https://github.com/zazaalaza/awesome-ideation- tools](https://github.com/zazaalaza/awesome-ideation-tools)

</comment><comment><USER62> If you look at what a company really is from a different perspective, then it makes complete sense that an internal innovator cannot exist inside any established organization. Let's examine how any company came to be: it first started with a few individuals with a shared project, who maybe managed to obtain resources beyond their own resources, for example by raising external capital. With these resources, they create a product or service, and more importantly look for customers. They may not find customers immediately, but through a long and painful trial and error process, they will try many different recipes before they actually discover the recipe to find customers. Companies who can't find enough customers will die. Initial capital is just delaying this fatal outcome. During this first phase till initial success, the organization is very fluid. The company strategy can be completed changed, the product can be completely changed, the production process can be completely changed … basically anything can be completely changed. A newly established organization is fluid and can reconfigure itself quickly, because it is still small, and more importantly it has nothing to lose doing so.

After a recipe to some initial commercial success has been painfully discovered, then the only strategy that make sense is to replicate it to grow the company. The initial recipe will be scientifically and meticulously improved, optimized, refined and scaled in all its components. Possibly by deploying additional capital, because the investment is now much less risky. This is what professional managers do. They perfect the execution of a recipe and balance risks doing so. Because now, as an established company with many shareholders, thousands of employees, suppliers, customers … the company has so much to lose by doing anything risky. Any established company must be risk averse or it will quickly disappear.

Fast forward a decade or more of commercial success optimizing the same recipe with a risk-averse mindset, which still has room for some internal innovation but only of the incremental type, then any company is no longer fluid but solid. If it's a public company obsessed with short terms returns, then it's a very dense solid. It is also a large organization by now, with many gatekeepers to company resources. An internal innovator would have to convince all of these gatekeepers for any significant new endeavor. This is clearly impossible unless the internal innovator is the CEO of the company. That's why companies lose their best innovators. That's why significant innovation cannot be produced inside large companies, but it can nevertheless be brought in via acquisitions ... sometimes from ex-employees who left to start their own company!

What you see as an established company today, you can also see as a "fossil of its past successes". That's why an established company cannot be an innovation machine in my opinion. This was not always the case in the past. It's probably a consequence of contemporary professional management, with too much emphasis on short-term, low risk and immediate returns.</comment>


Skiena's Algorithms Lectures - <AUTHOR> http://www.cs.sunysb.edu/~algorith/video-lectures/ <comment><USER2> Here's the book: [http://books.google.com/books?id=6U7I4577l00C&pg=PA140&#...</a>

</comment><comment><USER3> I'd like to add a link to my collection of computer science lectures:

[http://freescienceonline.blogspot.com/2008/02/computer- scien...](http://freescienceonline.blogspot.com/2008/02/computer-science- video-courses.html)

</comment><comment><USER4> It looks like everything after dynamic programming in 2007 is missing the video, including the lecture where he builds a proof of NP-hardness from a randomly selected problem in class.

/That/ is something I'd like to watch!

<comment><USER5> I was there - but I don't remember the problem we chose.

Sorry.

But is _was_ cool.

</comment></comment><comment><USER6> It's amazing how much that picture on the right looks like Weird Al in the "White and Nerdy" music video.

</comment><comment><USER7> Is the audio on the 2007 videos very quiet for everyone else as well?

</comment><comment><USER8> Buffering. . .</comment>


An Intuitive Explanation of Bayes' Theorem - <AUTHOR> http://www.yudkowsky.net/rational/bayes <comment><USER2> Personally, I don't find that explanation at all intuitive or helpful. If others do, great, but for me, not at all.

So many submissions, very little discussion:

[https://news.ycombinator.com/item?id=4304165](https://news.ycombinator.com/item?id=4304165) (30 comments)

[https://news.ycombinator.com/item?id=2957553](https://news.ycombinator.com/item?id=2957553) (8 comments)

[https://news.ycombinator.com/item?id=16687](https://news.ycombinator.com/item?id=16687) (2 comments)

Other submissions:

[https://news.ycombinator.com/item?id=8963372](https://news.ycombinator.com/item?id=8963372)

[https://news.ycombinator.com/item?id=8610859](https://news.ycombinator.com/item?id=8610859)

[https://news.ycombinator.com/item?id=8358851](https://news.ycombinator.com/item?id=8358851)

[https://news.ycombinator.com/item?id=5435554](https://news.ycombinator.com/item?id=5435554)

[https://news.ycombinator.com/item?id=4305144](https://news.ycombinator.com/item?id=4305144)

[https://news.ycombinator.com/item?id=3257118](https://news.ycombinator.com/item?id=3257118)

[https://news.ycombinator.com/item?id=2382371](https://news.ycombinator.com/item?id=2382371)

[https://news.ycombinator.com/item?id=1040174](https://news.ycombinator.com/item?id=1040174)</comment>