Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

> What stops Google from open sourcing Datastore, or AWS from open sourcing dynamoDB?

They have invested millions into creating cloud software. If they open source it, what is stopping other firms from taking that software and creating their own cloud offering?

Would you work for free? Would you open source all the work you have done?



sort by: page size:

> But as a business owner I can’t have my software open source.

May I ask for more details - in your particular case, how would having your software open source hurt your business?

Just pure curiosity, nothing else.


> And where the source code (built on open source) is not visible.

Is the software for your SaaS required to be open sourced?

Sure, you may be building your business off of Linux or other open source software code, but you’re not modifying it.

And if you need to modify it, then maybe you can share it back with the community.

But, I would think that the product you built, should be your own intellectual property.


> Is it open source?

Probably not

> Why do I care?

You might not.

> The same reason I don't use AWS or Google Cloud only datastores: I want to avoid vendor lockin.

Sounds like this isn't the product for you then.

Is that a surprise?


> Why should they hire people to support something which generates, as far as I can see, no revenue for Google?

The reason most companies release projects open source for free is that they created them to solve a problem for themselves, but want to benefit from community contributions. Google's ease of abandon suggests they are not really using this library internally.


> Do companies not open source internal projects? Do companies not hire people to work on open source projects?

Unfortunately they do not for the most part. Obviously there are exceptions but they are fairly rare.


> do you think Google would depend on third party software for anything as core as the RPC system?

I don't believe Google has (had?) any objections to using open source or open sourcing things but you have to remember two things:

1. Most companies weaponize open source. They use it to "commoditize their product's complements" [1]; and

2. Google3 are so deeply integrated in a way that you can't really separate some of the tech because of the dependencies on other tech. More on that below.

> Open sourcing Stubby could certainly have been done. You just open source the dependencies too

Yeah, I don't think it's always that simple. You may not own the rights to something to be able to open source it. Releasing something may trigger more viral licenses (ie GPL) to force you to open source things you don't want to or can't.

I actually went through the process of trying to import a few open source packages into Google's third party repo and there are a lot of "no nos". Like a project had to have a definite license (that was white listed by legal). Some projects liked to do silly things like having a license like "do whatever you want" or "this is public domain". That's not how public domain works BTW. And if you contacted them, they would refuse to change it even something like an MIT license, which basically emans the same thing, because they didn't understand what they were doing.

> And then Borg wasn't open sourced

This actually makes sense. Later on your suggest you were a Google SRE so you should be aware of this but to whoever else reads this: Google's traffic management was deeply integrated into the entire software stack. Load balancing, DDoS defense, inter-service routing, service deployment onto particular data centers, cells and racks and so on.

It just doesn't make sense to open source Borg without everything from global traffic management down to software network switching.

> I think only Blaze/Bazel is core infrastructure in which the open source version is actually genuinely the same codebase

I don't know the specifics but I believe that Bazel too was "Blaze inspired". I suspect it's still possible to do things in Blaze that you can't do in Bazel even though the days of Blaze BUILD files being Python rather than "Python syntax like" are long gone.

Also, Blaze itself has to integrate with various other systems than Bazel doesn' eg ObjFS, SrcFS, Forge, Perforce/Piper, MPM and various continuous build systems.

[1]: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/


> decide if you want to make a company, or if you want to make Open Source. The number if places that have succeeded in both is vanishingly small.

Google releases Android source code. While people would like even more of it released, I can and have compiled LineageOS and put it on an Android device.

I could even go more in and get a Pinephone (I do not have one, but have a Pine watch). From another open source company.

Google released Angular and more OSS. Facebook released React.

Red Hat built a giant OSS business before being swallowed up by IBM - b2b companies to get swallowed up by big b2b companies.

On a smaller scale, Health Market Science released a generic database Java library I used. They needed to write some generic software to use, then open sourced it if anyone found it useful. Doing so did not threaten their business, LexisNexis acquired HMS.

Open source is released within and without companies. Lots of successful companies release open source. Most of what I use is open source - from my System76 laptop and desktop, to my Android and LineageOS phones, to my Pinetime watch. I suppose for people who don't program it the appeal level is different, but I do program.


> I used to work in defense, should that software be open source?

Software that is used internally and not distributed need not be free software. That was not my point.

That said, I do work in defense now (writing software for a defense partner that finances the research of my lab) and the contract requires that all our production be published under an open source license. Only the data is secret, and we don't really get to see most of it.


> They built that value off the back of many other open source products

Would you opinion change if everything in Elasticsearch was in-house?

I think there is a broader question about spirit of open source licensing here. If I'm building a new DB from scratch, should I choose a true open source license and risk giving up competitive advantage in my ability to monetize it, over Amazon-like companies who have the benefit of brand and scale? Or is it okay to just make the code source-available, which is still better than closed-source?

I like the balanced approach some companies are adopting: make the code source-available initially and automatically transition to a open source license after N years.


>Unfortunately, at this time, it only works with PostgreSQL and every time we show it to PostgreSQL people they love it but want it to be open source. Obviously, we had hoped to sell it so that's a big disappointment.

Just because you make the software open source doesnt mean you cant sell it. At its rawest form open source just means that you are going to share the source code.

If a business is big enough that they have staff who can integrate your open source project would they have been a customer of yours anyway? And if they arent going to be a customer, why not have them as a tester and potential contributor? And if they are a serious company, they usually want a service contract for crucial pieces of software.

You could even have a license that allows using and modifying your software but limits redistribution (i.e. selling) although I wouldnt recommend it.


> Have you considered open sourcing your work?

It's barely good enough to do our own work with and highly specific to the application so no, it will not be open sourced.


> Can anyone name a recent open source library or program that is widely used and community controlled beside Linux?

I'd answer the opposite question. What do I use in my daily work that isn't open source? Sure there's binary blobs/drivers here and there, and whatever the cloud providers are keeping to themselves.

But c'mon, all the languages, the build tools, web frameworks, libraries, databases (sql and non-sql).


> These companies [AWS, Microsoft, and Google] are some of the biggest contributors to open source.

True, but their contributions are quite selective. Google writes very good infrastructure code. However OSS DBMS services are quite different. They tend to originate in companies with data problems. Sometimes that's a company like Google or Microsoft, but more often it's a company like Facebook that has an issue processing a lot of data.

BTW I'm not so sure AWS counts as a big OSS contributor. They use it but don't really make a lot of contributions back. This may change over time.

Disclaimer: I work at Altinity, which offers support and software for ClickHouse. (Incidentally written by Yandex to process their clickstream data.)


> The question isn’t open-source-vs-proprietary, but open-source-vs-business-focused.

I disagree. Some of the very successful FOSS projects are backed by businesses that benefitting using those. Linux, RocksDB, React, Tensorflow would be good examples.


> I think there's some truth that code has value, and there is some risk that making it available can cut into profits (See: Redis, Mongo, etc, changing course after open offerings became available on AWS/Azure/GCP).

An example like that is only valid if you argue that there was a reasonable chance that the company could have 1) developed a comparable closed source version of the product and 2) somehow prevented a competitive open source version of that product from existing and being used by competitors.


> I understand what you are saying, but open source code cannot be a product, so it doesn't matter whether you open source everything or not.

The point I'm making is: why open source it at all? Couldn't you earn money by keeping the source closed and selling the actual product?


> Every company I've worked at has used open source code. Only one of them open sourced their code.

Did they have code worth distributing and opening for contribution? It seems like most code I encounter in enterprise environments doesn't really fit those needs.


(Context: I worked on Compose/MongoHQ for a very long time. We were the first to monetize MongoDB)

I'm sure people will get riled up about this, but it makes sense. Building a business on an OSS database in a world of behemoth cloud providers is really hard. It's clear Google and Amazon (and maybe even Azure) are comfy taking OSS work, doing a ton of proprietary development on it, and leaving the companies who did all the groundwork flailing in the wind.

These things are going to keep happening as long as mega tech companies (a) use OSS to commoditize other companies' products and (b) exploit permissive licenses to the max.

I don't want to live in a world where the only infrastructure software we have access to is what the big companies deign to open source. Life is better when small groups of devs can build and sustain critical infrastructure software. We need more haproxies and redises and binds and (fill in blank).

That said, MongoDB has never figured out how to work with their ecosystem in a way that's good for everyone. They've gone from trying to extort money from smaller companies to undercutting them to this. And it's likely not gonna change much this time, the world of "run a database as a service" is changing I think, and being replaced with more generic tools that just so happen to manage complex persistence well.

_Also_ I bet some random licensing folks are crapping their pants at IBM right now. I'm ashamed at how funny that is.


> Well how much work can you expect a for-profit-company to do in order to release their software as open source?

A lot actually I expect them to make open source software and in all regards this has happened.

http://www.infoworld.com/article/2914643/open-source-softwar...

next

Legal | privacy