
Dear-GitHub: Host Github by itself as an open source project - joelhandwell
https://github.com/dear-github/dear-github/issues/304
======
tbrock
Why? It’s free for open source, reasonable for enterprise and private use and
I think you could build a better one starting from scratch.

GitHub’s success is largely due to the network effect and it’s entrenched
status as the canonical code repository.

Besides libgit2, aka “the secret sauce”, is already open source. What are you
waiting for?

~~~
derefr
> libgit2, aka “the secret sauce”

I would describe GitHub's real "secret sauce" as the issue-tracking, wikis,
project boards, and release management parts, that don't get represented in
the repo itself.

Which is to say, if you wanted to _commoditize_ GitHub (which is basically
what "open-sourcing your secret sauce" means), you'd have to create some sort
of library that allowed you to treat a git repo + all those other things as
one structured data-object. You would be able to use said library to both
operate on all those pieces of data locally; and to sync them between
different Git hosting services that all share those features.

Or, better yet, figure out a way to put all those features into git itself, so
that every git repo automatically transports those pieces of data alongside
itself.

~~~
enturn
Fossil SCM has Integrated Bug Tracking, Wiki, and Technotes. It's not git but
is distributed. It's used for sqlite project.

~~~
derefr
That's cool. I wonder why Git hasn't copied the implementation.

~~~
dcuthbertson
They are completely different. In fossil, commit history is sacred, where git
users can rebase, and cherry pick to their hearts content

~~~
derefr
I meant the implementation of these side-features as objects sitting in the
repo, with appropriate client commands for creating and editing them, etc.

Git already has notes, and signed commits/signed tags, which are all those
same kind of "objects that just happen to be there." So they don't need to
copy Fossil's _architecture_ ; they can just copy the way that said object
types interact as dependents of commits (while letting them get blown away
when commits themselves do.)

------
peterwwillis
It's kind of funny how Open Source is now a strategic initiative of many big
tech companies. They open source projects for a variety of reasons: 1) to
attract tech talent, 2) to "build a community" (aka get customers to become
unpaid tech support), 3) to increase quality by increasing eyes on lines of
code, 4) to reduce cost of maintenance by allowing the community to provide
development work, 5) contributing back to existing tools allows companies to
re-use technology rather than having to roll their own, 6) defeat competition
by releasing a supported product for free.

The last one is a really powerful move for a software company. Normally,
people will use your software if it's free, but if there's performance or
other limits, it decreases the number of potential users. External open source
projects then pick up the user base you might have acquired later. By open
sourcing your own product, you effectively eliminate the need market for the
external projects, giving you back your user base (which helps your community,
potentially leads to sales, etc).

For some companies this would be cutting things very close in terms of profit
margins, but Microsoft has plenty of other income that it doesn't need to
worry about an occasional loss. It has way more to gain from leveraging this
product in all its other tech offerings, even if they made zero money off
enterprise support.

------
jasode
_> Microsoft open sourced Xamarin after acquisition and it was good for
community. _

I don't think Microsoft's previous open sourcing of Xamarin is a good
indicator and may lead us to misunderstand MS's strategy. To me, it would be
very out of character for MS to open source Github.

Yes, MS has released things like C# compiler (Rosalyn), Visual Studio Code
(Javascript Electron app), and Xamarin to the open source community.

But, MS has not open sourced CodePlex, Visual Studio Team Foundation Server,
Skype, Linkedin.

I see a difference between "programming tools" and "collaboration platforms"
and Github is in the 2nd category. I see no strategic reason why MS would pay
$7.5 billion for Github to just turn around and open source it.

~~~
WorldMaker
Xamarin is an easy to use leading indicator because of Nat Friedman's
involvement in both. Simply in choosing Nat Friedman as new CEO it is hard not
to wonder if Microsoft at least has the intention to explore Open Source as an
operating option for GitHub moving forward.

> But, MS has not open sourced CodePlex, Visual Studio Team Foundation Server,
> Skype, Linkedin. [...] I see a difference between "programming tools" and
> "collaboration platforms" [...]

They've open source _some_ of those "collaboration platforms". It's not a
clear black & white situation, I don't think.

LinkedIn has a large open source footprint:
[http://linkedin.github.io/](http://linkedin.github.io/)

More importantly, Azure has a ton of Open Source:
[https://azure.github.io/](https://azure.github.io/)

A lot of what might possibly be considered "secret sauce" bits of the Azure
stack are open source, and you could possibly cobble together your own mini-
Azure if you needed too and for some reason it wasn't just cheaper to buy
Windows Servers with Azure Stack out of the box or even to just use Azure's
existing cloud.

The Azure Functions Host is the biggest example off the top of my head that a
lot of people imagine would be closed source but is open source.

(Another example is I've used over the years for different reasons is Azure's
"Kudu" website deployment engine.)

I don't know if there's a cut/dried point where Microsoft might currently be
drawing the line between its closed source stuff and open source, but
"programming tools" versus "collaboration platforms" doesn't seem to be it
(even before getting into semantic arguments about the fuzzy boundary between
such categories).

That said, there probably is no obvious strategic reason for Microsoft to open
source GitHub at this point, and maybe all that money that was spent in the
purchase are plenty more reasons not to.

But Xamarin is an interesting leading indicator, and if there is a person to
put in charge of GitHub with any interest in exploring the possibility of at
least open sourcing more of GitHub, even if never quite "all" of GitHub, it is
probably Nat Friedman.

~~~
jasode
_> LinkedIn has a large open source footprint:
[http://linkedin.github.io/](http://linkedin.github.io/)

>More importantly, Azure has a ton of Open Source:
[https://azure.github.io/](https://azure.github.io/) _

Sure I get those examples of "bits and pieces" being open source. Likewise,
Google open sources lots of things like Protobufs (BSD license), CityHash (MIT
license), and Kubernetes (Apache license) -- but they don't open source their
crown jewels of proprietary source code collaboration, the Google Cloud
datacenter management stack, and of course, their latest iteration of
PageRank. A lot of those Azure github repos I see are open source examples for
client SDKs as opposed to building a full clone of Azure that's equivalent to
RedHat's OpenStack.

Those limited examples didn't seem to be the spirit of Joel Handwell's wish. I
think we can presume that he wants to download the entire Github source code,
compile it, and self-host it like GitLab. I could definitely see MS open
sourcing bits & pieces of Github but still not give away the entire stack.

To me, it looks like MS is taking Github in the direction of a hosted service
for full Application Lifecycle Management. (For example, add more features to
compete with Jira.) Github-Enterprise could possibly eventually overtake
Microsoft's own Team Foundation Server as the preferred release management
tool. It adds to MS portfolio of other cloud services like Office 365.
Likewise, if we ask for MS to _" please open source Microsoft Excel"_, it's
probably not going to happen because it's not compatible with their strategy
of selling Office 365 subscriptions.

~~~
joelhandwell
>Those limited examples didn't seem to be the spirit of Joel Handwell's wish.

My wish is the same wish as the open letter dear-github
([https://github.com/dear-github/dear-github](https://github.com/dear-
github/dear-github)) signers and not to host open source github in other
server than github.com. Just hoping to see requested feature implemented
earlier by cooperating with OSS community. I wish to still use github.com
after it's open sourced. So for me, the limited partial component open source
can be a starting point and the open source effort do not need to go all the
way to the production backend which is distributed performance optimizing
hacks usually not directly affects UX/UI.

------
nodesocket
I am going to be in the minority here, but why does HN always think all
software should be free and open source? GitHub generates large revenue and
provides immense value for organizations and companies. It's the same argument
I see on HN about people not wanting to pay for Slack and going through insane
hoops and efforts to run alternatives. Makes no sense being a technical
founder. I truly believe in supporting great software with my wallet. If the
organization decides to make their software open source... That's awesome and
great, but starting outrage campaigns and public outcry I can't get behind.
Microsoft is a public company and they have every right to monetize GitHub.

------
nemothekid
I really don't see the value in open sourcing GitHub when Gitlab exists if you
are looking for a replacement incase MS decides to go full tyrant - unless if
you believe GitHub enterprise is an amazing project.

If GitHub wasn't built from the start for hosted deployments, it will probably
be both expensive and a pain in the neck to run. GitLab probably has it's
issues, but I won't be surprised if there are assumptions made in GitHub's
code that assumes you are essentially running on high memory / high cpu
machines to reduce latency.

~~~
freedomben
This would be interesting to hear about from an insider. I suspect you're
right. Having worked at a company that open sources most of their code, I've
seen first hand how much better the code quality is when you know it's going
out to the world. When you know it's gonna be hidden and only a handful of
people will ever see it, you're much less hesitant to push up hacks :-) We
open sourced something that wasn't originally going to be open, and we spent
weeks going through cleaning up and refactoring things to avoid public
embarrassment.

~~~
kanwisher
What’s the business value in spending weeks of developer time refactoring
things that are going open source. For some industries it’s required like
blockchain. For average shop seems like more expense with no profit

~~~
freedomben
In our case, the business value was that it was a contractual clause with a
customer. The idea was that keeping a million dollar customer and spending
weeks refactoring was cheaper than losing the customer and getting sued for
breach of contract. So we're probably in a similar boat as block chain like
you mention.

However, I think you underestimate the value of open source. Besides being the
right thing to do (respects freedom, allows developers who built it to use
their code later in line with license agreement, allows others to learn by
contributing or at least reading, plus many other benefits) it can be a
powerful recruiting tool. There's real business value in getting good hires.

------
tills13
I _hate_ people using "M$" un-ironically. It wasn't funny 10 years ago when it
started and it's still not funny today. How can you take that one comment
seriously with that "M$" part in it.

~~~
peterwwillis
That's cool. I hated Micro$oft for a while, for being a bunch of evil money
grubbing assholes who made it harder to run the operating system I wanted,
applied proprietary extensions to open standards in order to force vendor
lock-in [nearly destroying the open web], and who leveraged PC manufacturer
deals to tax us for software we didn't want. They literally called Open Source
a cancer and lied about what the GPL specified to discourage use of the
software. M$ was a monopoly, and all about the cash. It was never supposed to
be funny.

Also, irony means suggesting the opposite. I don't know why anyone would use
M$ ironically.

------
cutety
Like the other commenter said, if it aligns with their business interest, they
will. That said, I do find it funny that essentially the "home" of most open
source projects itself isn't open source. I'm not a heavy user of GitHub, as
we use a self hosted instance of Gitlab at work, so my only use is browsing
projects & throwing up my various side projects on it, so maybe someone can
enlighten me on my next question.

Does GitHub have some proprietary tech/functionality that is valuable enough
to warrant it being closed source? As far as I can tell, GitHub's most
valuable assets are it's large user base and the brand itself, it's actual
functionality seems to be pretty standard amongst git hosting applications
(Gitlab, Gitea/Gogs, Bitbucket, etc...). However, like I said, I myself am not
a heavy user of it, so there could be some feature the others are lacking that
GitHub would like to keep the code closed to prevent others from replicating.

~~~
seabrookmx
I think you're right. The only "secret sauce" I could see them having are some
unique operational/architectural features of their back-end code that make
sense for an entity at Github's scale. No instance of Gitea/Gitlab is even in
the same ballpark wrt repo count and traffic than github.com, obviously.

------
m3kw9
Don’t matter if you say pretty please, if it aligns with their business they
will do it. They’ve probably thought of this move already.

~~~
sdesol
There is no way I can see them open sourcing GitHub. If you have studied the
history of versioning control systems (ClearCear, Perforce, TFS, Subversion,
etc.) you would know how insanely powerful controlling the hosting solution
is. I can see Microsoft making private repos for free and/or making GitHub
Enterprise free for the first 10 users though.

~~~
freedomben
It's definitely powerful, but I don't think the power of github is in the
actual product. Gitlab is much better in some important ways (IMHO of course),
but it's still not seen much adoption. The power of Github is in the community
and the fact that it's the defacto standard place to look for code. That would
likely only increase if MS open sourced the code.

------
_bxg1
Yo dawg I heard you like GitHub, so I put GitHub on GitHub so you can
contribute to GitHub using GitHub.

~~~
maxkrieger
Replace with "Linux distribution", "compiler", or any other self-referential
system [https://en.m.wikipedia.org/wiki/Self-
hosting](https://en.m.wikipedia.org/wiki/Self-hosting)

------
whoisjuan
GitLab is not open source though. They call their approach "open core" which
imho is just a marketing gimmick to appear as an open source solution when in
fact they are not fully open source.

~~~
eropple
I am not a big fan of GitLab-the-company. But GitLab CE is licensed as MIT.
You can do with it what you wilt.

I have a hunch that your actual complaint is that _they too_ do with it what
_they_ wilt, and what they wilt is not "give to you everything they add on top
of GitLab for free and forever".

~~~
whoisjuan
Yes. That's what I meant, but also I don't think that's a bad thing. Building
software is hard and expensive. I think is valid to only open source certain
parts of your system and reserve the right to monetize other parts and
features.

------
joelhandwell
Misunderstandings looks like happened regarding my intention. I'm totally not
interested in running my own github instance in other server just like people
who signed the open letter dear-github to plead Github to add +1 button in
issue which took really long to be recognized as an issue to be implemented.
I'm sure if it was open source, somebody implemented the feature and made a
pull request.

My intention is to make github.com "Client Side Code" better by let OSS
community join into the development. So open sourcing backend and architecture
is not my interest and possibly not interest of MS too. I'm not sure if Github
is made of micro services, but if it is, certain client side code could be
open sourced first and only that could generate great contribution to improve
it.

I'm heavy user of Gitlab and disappointed because it is no longer fully open
source and some enterprise features would not be welcomed to be implemented by
OSS community because it conflicts with Gitlab company revenue. In my ideal
world, MS splits Github source into client and backend and open source "Github
client + test backend" for community to test if client code works while they
make pull request and keep production backend closed. Do you think MS would be
interested in this?

~~~
willchen
I think the +1 button was a really nice feature and something they should've
done a while ago, but it's hard to draw the line.

If everyone contributes their pet UI feature (e.g. custom theme, use XYZ
monospace font), then there will be dozens of features that only 0.01% of
users use, but it increases the overall complexity of the product and
maintenance burden.

~~~
joelhandwell
+1 button could work as voting system to reduce that maintenance burden too.
Semi-democratic method can be introduced to merge most voted and looks good to
MS.

~~~
nemothekid
The only thing that sounds worse than design by committee is design by
democracy. Do you know of any successful projects that are managed this way?

~~~
joelhandwell
My words were not clear, I meant and edited to "semi-democratic" way. The
voting is one indicator but I also believe strong vision and strategy of
leader is the key to success.

And my point was not +1 button but splitting code into open source "Client
side + Test-backend" and closed sourced "Production-backend". Backend can be
composed of some interface and multiple implementation such as test impl and
prod impl. Actually Github could be hosted in Azure and I do not care their
backend as I go github.com anyway.

------
joelhandwell
Not sure if they will join conversation but just now I invited @satyanadella
@jeffmcaffer @natfriedman @defunkt @bkeepers into the Github issue. If you
want them comment, cast vote with +1

[https://github.com/dear-github/dear-
github/issues/304#issuec...](https://github.com/dear-github/dear-
github/issues/304#issuecomment-402011835)

------
gremlinsinc
I think it'd be cool if they open sourced it, but w/ federation built in. So
self-hosted public repo's, would call back to ms github, and show up in
searches/etc. You can star/comment/etc on github.com even if it's a
federated/self-hosted github.

That way the social aspect is still there, regardless of if the repo is hosted
ON github.com or a remote copy.

------
ksubedi
after seeing what they did with xamarin, i would not be surprised if they did.
but unlike xamarin, open sourcing github wouldnt help them gain more
developers on their platform and i do not see any other business benefits. i
would love to see this happen though

------
Someone1234
They could, but I'd argue GitHub is powerful for the community, shared user
accounts between projects, and integrations. None of which you'd benefit from
if you deployed your own instance.

If Microsoft open sourced GitHub, I'd still use GitHub.com, for the reasons I
stated above. Heck GitLab is already OSS and I don't use that because GitHub
wins via the network effect[0].

PS - I have no issue with people asking for this; I'm simply pointing out the
"win" if Microsoft agreed, is lower than you'd immediately anticipate.

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

------
aylmao
As much as I wish this happened I don't think it will because it'll open the
doors to a lot of self-hosting eating away Github Enterprise's revenue.

------
mythz
Pretty sure MS didn't acquire GitHub for 7.5B so they can OSS it and encourage
competing, fragmented solutions with a lower barrier to entry.

