

Ask HN: Do companies have better code than the open source community? - zackmorris

Looking at github lately, I&#x27;m struck by how much decent code is made by individuals. I&#x27;ve taken it on faith that they know what they are doing, and have created libraries that are close to some nebulous notion of purity or elegance. Generally the code does something in a straightforward manner, like I could extrapolate where the unfinished parts are going (an indicator that it&#x27;s close to optimum).<p>Contrast that with corporate code, where it seems more rigorous, more institutional. It&#x27;s often entrenched in company culture and whatever process the higher ups have deemed important. I&#x27;ve written much of it off as overhyped, over-trusted and over-utilized. Some things work remarkably well for containing the chaos of an ever-changing market and workforce. But others seem archaic and I can&#x27;t believe that companies depend on the logic equivalents of toaster ovens (that unwieldiness must be a warning sign).<p>Could my intuition be wrong? Imagine an idea you have, and that instead of having to write every line, you can outsource it. And that process is hierarchical, so you can reach as high as you want to. What kind of power would that give you? What could you learn that would be out of reach to those with fewer resources? If one person can write good code, what happens when hundreds or thousands of people work for years with million-dollar budgets? Could Google or Amazon have code that runs circles around ours, like if map reduce is the low-lying fruit of the big data world, not even worth protecting? Are we locked outside the pearly gates, dealing with tools that can never give us the leverage that companies enjoy? Is an MIT or GPL license a sign that code wasn&#x27;t good enough to make the cut?<p>Or maybe the darwinian evolution of the open source world runs circles around the intelligent design of corporate think tanks. Is there any evidence one way or the other?
======
brianbarker
In general, no. Corporate code "in the wild" is typically a pile of shit. I've
worked at several companies and between mismanaged projects, team conflicts,
time/requirements constraints stuff just gets messy, hacked and crazy really
fast.

Open source projects, particularly smaller 1-3 person projects on github
typically have more consensus, dedication, vision, etc and come out better. I
think there's a lot to learn from that process and how business code could be
managed better. I'll save that for my book.

The general shittiness of code makes me wonder at times about stuff around me.
Stuff like the machines in a hospital keeping people alive, traffic lights,
etc. It's kind of scary when you see examples of how badly some people think
through problems.

------
tgflynn
I don't know about code "quality", which is a rather nebulous notion that no
one seems able to accurately define, but in terms of functionality there may
be a tendency to underestimate what well-financed teams in industry can
accomplish.

Consider 4 examples.

1) The first is the only one of which I have personal knowledge. I used to
work for a large corporation which developed address reading software for the
US Postal Service. The project had generated about $1B for the company at the
time I was there and comparable costs savings for the customer. I don't
believe OCR software that is widely commercially available approaches the
performance of that system.

2) IBM Watson. Here we have an example of a well educated, well financed
corporate team producing a software system capable of beating the best human
players at Jeopardy. I think prior to this demonstration few would have
believed such a thing possible.

3) Google Self Driving Car. Again look at how much progress on an extremely
difficult problem has been made by a company team in a short amount of time.

4) Recent NSA revelations: The technical capabilities revealed by Edward
Snowden exceed even the somewhat mythical beliefs about the NSA's capabilities
that were prevalent in the tech community prior to these revelations.

~~~
danpalmer
While these are examples of great software in terms of functionality, they
don't necessarily contain 'good code'.

I suspect that the quality of the product is strongly related to the quality
of the code underlying it, but then it could be argued that Windows is a good
product, and yet I've read several stories about the code not being
particularly good quality in many areas. Conversely, much open source software
I've seen has wonderful code, but the products of that are horrible.

------
espeed
MapR is the best example I know of where a closed-source solution is beating
open-source.

For example, MapR's Hadoop distribution outperforms its open-source
counterparts:

* MapR breaks the Hadoop TeraSort world record using Google Compute Engine ([https://plus.google.com/+GoogleDevelopers/posts/NURRXZ985XV](https://plus.google.com/+GoogleDevelopers/posts/NURRXZ985XV))

* Video: [https://www.youtube.com/watch?v=9iQzMoy41_k](https://www.youtube.com/watch?v=9iQzMoy41_k)

Also MapR-FS and its new M7 Tables are HDFS and HBase rewrites that remove the
complexity of running HBase while improving performance:

* M7 Overview: [http://www.mapr.com/products/mapr-editions/m7-edition](http://www.mapr.com/products/mapr-editions/m7-edition)

* Datasheet: [http://www.mapr.com/Download-document/21-MapR-M7-Datasheet](http://www.mapr.com/Download-document/21-MapR-M7-Datasheet)

* Benchmark: [http://www.mapr.com/Download-document/52-MapR-M7-Performance...](http://www.mapr.com/Download-document/52-MapR-M7-Performance..).

* Docs: [http://doc.mapr.com/display/MapR/M7+-+Native+Storage+for+Map...](http://doc.mapr.com/display/MapR/M7+-+Native+Storage+for+Map..).

* AWS Service: [http://aws.amazon.com/elasticmapreduce/mapr/](http://aws.amazon.com/elasticmapreduce/mapr/)

One reason behind MapR's competitive advantage is because it was co-founded by
M.C. Srivas from the Google search team
([http://www.wired.com/wiredenterprise/2011/12/ex-google-
man/](http://www.wired.com/wiredenterprise/2011/12/ex-google-man/)) so they
have special knowledge on how the real GFS/MapReduce/BigTable stack is
designed.

------
pearjuice
For a proper analysis you would need to compare a large distributed subset of
proprietary, closed source code to an equal amount of distributed open source
code. Which for many reasons (hint: proprietary) cannot be done. So no, there
is no evidence other than biased people who worked at company x or y with
good/bad in-house code.

~~~
zackmorris
I think you are right, and that was the same uncomfortable conclusion I came
to. Maybe the gist of the question is whether developing software privately is
better than developing it publicly. It seems that the amount of money earned
is proportional to secrecy.

However, I've rarely shared code in my life and live month to month, so it's
not a hard and fast rule. I guess my deepest hope is that someday the entirety
of open source software and technology will provide such a large benefit that
it can work like income at a personal level. The intangible benefits of
participating in open source don't help much against the tangible expenses in
one's life!

------
tlongren
No.

