Ask HN: “If that was not open source, I would be screwed”

22 points by philliproso ↗ HN
I recently had a moment where I really appreciated running most of our stack on open source system. Needless to say it was a weird interaction with the way flask handles files, boto/s3, flask admin, and a core mimetype util in python. A name was being set on a file stream as an integer which triggered a mime type check in boto, which caused the mimetype check to error because it expected a string. (I still have not figure why that name is being set on the stream of mostly excel file uploads.)

Needless to say, if I needed to go through some recent support hire from some enterprise service, it could have taken a long time to figure it all out. Reading the source made actually solving this much easier.

This is obviously not unique, as it is a core part of why open source is successful.

It would be great to hear of any other stories.

12 comments

[ 3.3 ms ] story [ 38.1 ms ] thread
Linus Torvalds takes most of the cake : Linux + Git.

Most developers wouldn't have their job without these two, heck even Github and Gitlab wouldn't exist.

I think that's going a bit far. We'd be using BSD, or a commercial Unix like Solaris. Mercurial, SVN, and god forbid even CVS would still work for most projects.
Probably not Mercurial, from Wikipedia:

"BitKeeper had been used for the version control requirements of the Linux kernel project. Mackall decided to write a distributed version control system as a replacement for use with the Linux kernel."

We'd all be using Windows NT. Well, y'all would, I'd have become a mechanic or chef or something.

Seriously, in the dim days of the early 90's it seemed like the overpricing and fragmentation of the various Unix vendors would hand the mid-size and small systems space to NT. Which was all part of Microsoft's plan. The BSDs were themselves too factionalized to be a credible alternative. The Unix wars were winding down and NT was winning.

Linux not only blocked NT's takeover of the data center it also ended the Unix wars and ultimately destroyed the market for incompatible Unixes.

A future-tense corollary: “What if it turns out not to be open source?”

As someone who works in crypto-currency, the enduring mystery over who invented bitcoin bothers me a lot.

The going belief is in a still-anonymous fairy godfather, Satoshi Nakamoto, who gave unto the world his/her/their foundational idea, or intellectual property, and said go forth and multiply.

Just one problem: What if Nakamoto invented his/her/their technology at a company or academic institution? That institution c/would claw back the intellectual property. Where there is intellectual property, there are patent lawyers; and where there are patent lawyers, there are licensing fees! See Oracle v. Google over Sun Microsystems' Java.

What if the reason he/she/it maintains anonymity is because to reveal himself is to reveal where he worked when he invented bitcoin? That employer would be the true owner of the IP, and open-source bitcoin would go private. The foundational idea that's launched a thousand startups, supposedly open-source, turns out to be anything but open-source. That would suck.

I wager that, at some point in the future, bitcoin will be private property owned by a corporation or academic institution.

You can't retroactively patent something after its design has already been released to the general public, can you? Imagine trying to patent a car engine today, if it were a similar situation: the operation would be total nonsense. The derivative works existed before you claimed control; you can't just go and say they now owe you money for it

At best I would imagine that nakamoto could get sued for releasing IP that wasn't his to release, and they might be able to lay claim over the bitcoin name and codebase for future updates... but they can't do anything about all the existing forks and derivatives. They already exist!

And as I understood it, the Oracle v Google case was based on the fact that Oracle was already licensing java for mobile devices, and android basically wrote a new not-java, which is all fine and well, but Oracle was claiming that not just the implementation but also the API fell under their licensing operation. That is, licensing was already part of the story, it was just a question of whether it applied to Google's usage.

Bitcoin is not that situation: no licensing story currently exists. If it were taken into closed source, it wouldn't be much different from forking the code and making a proprietary version of it, and licensing that out. But the codebase that already exists, in the open, and includes a whole lot of code that is by no means property of sakamoto's institution, can't just be removed from the internet

Also, can you even patent a network protocol? Because the client itself doesn't hold much value, especially not for the derivative works. It's the protocol that's key

ofc I'm not a lawyer, I don't know squat about the topic, but intuitively it seems nonsensical. Imagine doing that operation intentionally: releasing a design so you could retroactively patent and force licenses after worldwide adoption. It'd be dumb as hell

That makes a lot of sense. I can see a case if his/her/their intention was to deceive for whatever reason, like personal gain.

The creative solution to the “double spend” problem is the valuable piece. The other pieces, cryptographic hashing and proof-of-work have been around for some time. Algorithms make up the largest pool of software patents.

If it went private (it's actually patent pending once publically released; even if CC licensed, the license is null re: invalid ownership), an owner could do what MasterCard and Visa do: percentage of transaction, etc. I bet they could even make a case for ownership of his 1+ million coins ($6.4 billion USD).

The technology is already out of the bag, though, it's not going back in.

This article is interesting re: retroactivity: http://www.toikkalawgroup.com/blog/the-patent-bargain-and-th...

If I read your link correctly, retroactivity, at least by what your article is addressing, is an ability held by the federal government, and only the government. And moreover, its about updating the rules and validity of the patent.

Im not sure its relevancy to retroactive creation of patents in this context. I agree it was interesting though.

It couldn't be patented since it's been public knowledge for a while:

"In order for an invention to be patentable it must be new as defined in the patent law, which provides that an invention cannot be patented if: the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention” or . . ."[1]

[1] https://www.uspto.gov/patents-getting-started/general-inform...

But it was new, it wasn't previously described in print, and it wasn't available to the public...

...oh, before the effective filing date. There's the rub.

But couldn't the case could be made that all of those conditions applied at the time Satoshi released it; and, had the rightful owner known of its existence, would have applied?

I just think the anonymity is really interesting. Why be anonymous? I don't think it's open-source altruism like the mythology suggests. I think it's greed. If he'd developed it for someone else or while working for someone else or on/with (their) prior art, that's a damn good reason to hide. So is (at present) the $6.4 billion USD value of his 980,000 bitcoins.

Obviously. There was a moment an online application form was broken. myself being CS student, inspected the source code and typed `javascript:fnEditApplication` in chrome URL bar, which worked out.
Too many too enumerate.

Once had used an HTML lib that didn't properly escape characters. I was able to see the source, propose a change, and do it the correct way in my code. I won't say which one it was, but it was extremely popular.

Used a JavaScript lib to create sheet music. The lib worked fine for the most part, but I needed certain features to work, and that required diving into the raw source and making many manual changes. If it was closed source, I'd have to figure out how to write the whole thing myself. That probably wouldn't have been possible for me.

A popular API had an official Python implementation. It was "ready" for Python3, but there were a lot of bugs that would cause crashes. I was able to fix them and send back proposed changes. It took over a year for them to finally do the updates. I needed it that day.