
Ask HN: Why Aren't GLinux and Goobuntu Open Source? - FahadUddin92
Google uses gLinux and Goobuntu for its computers which are derived from Linux but they haven&#x27;t given the code back to opensource (couldn&#x27;t find it). Is it okay to use Open Source software to build something but keep it to yourself?
======
db48x
Yes, it's okay.

A Linux distribution is really thousands of separate programs all with a
license, but we can just consider the Linux kernel first. The kernel is
licensed under the GPL, which you really should read. The gist of it is that
as a user of the kernel you are entitled to use the kernel however you want,
to receive a copy of the kernel source code, to modify it however you want.
Additionally, if you've modified the kernel in any way then you are also
allowed to distribute those modifications to others.

However, this is not an unconditional license. The license can be revoked if
you fail to follow a simple rule: if you distribute the kernel to anyone
outside your organization then you must distribute it under the same terms as
you received it. This means that if you modified the kernel, and distributed
the modified version, then you must supply the source code for the modified
version to whoever you've distributed it to. (If you haven't modified it, then
you can simply tell them which git tag or revision to clone. That won't cost
you much, but you do have to make sure your customer support people know how
to answer the question, so it's probably not zero cost.)

But the key is that you're not required to distribute the software, modified
or otherwise, to anyone. If you're not distributing the software, then you
still gain the benefits.

Other programs with licenses that meet the Open Source Definition will be
similar.

Note that nowhere in here is it required that you contribute your changes back
to the upstream developers, only that you distribute those changes to your
_downstream_ users. An upstream developer might need to become a downstream
user in order to gain access to the changes, which they could then commit to
the upstream code if they want.

That said, even if you don't distribute your modified version, you might
decide that it's economically infeasible to merge your changes with every new
upstream release. You might contribute those changes back to the kernel
developers merely in the hope of reducing your future operational costs rather
than because it's required.

