Hacker News new | past | comments | ask | show | jobs | submit login
The Nintendo Switch uses my open source code (twitter.com/feross)
512 points by danso on Nov 23, 2020 | hide | past | favorite | 292 comments



I'm happy for the guy. That's no mean feat.

I'm just kinda curious about some comments on Twitter and here. Ok, the guy made an open source library, with no strings attached, a big company used it for god knows what and acknowledged him. Why would the company give him anything more than acknowledgement? As far as we know they didn't demand any updates or support from him, why are they expected to give him freebies, contribute to the code or anything else?


The company is giving him something, which is a huge vote of approval to his library. "You ship it, you own it" means Nintendo just said, "This guys code is Nintendo-handheld quality code!" Big endorsement. And literally no-one in the world knows more about that code than him.

Last but not least is just the feeling that your code is running in so many places! What a feeling of accomplishment. Over a career, you start to think more and more about what code you have running in the world. Where it used to run. Where you'd like it to run.

That's a pretty satisfying feeling, and it also makes him one of the few bona fide people in the world at whom you can throw money to fix (or change) the library.


I fully agree. A small piece of software I'm most proud of is a very small library I wrote for an ex-employer and was lucky enough to open-source. It isn't updated in years and should nonetheless still work. Since a few years ago it is used by the Gitlab main repo.

I don't expect anything from them, they don't ask anything from me and just knowing that it is useful for such a big project is all endorsement I need.


SheetJS was created because of a Microsoft licensing issue with a library (https://github.com/stephen-hardy/xlsx.js/issues/8). The other project had a nonstandard license with a clause that only applied to browsers run on Microsoft Windows, which is really bizarre for a JS library that can run on any browser. Apparently the original developer was working for Microsoft at the time, and Microsoft mandated the license clause.

In a funny twist of fate, Microsoft now uses SheetJS open source to power some Excel exports in Office 365! https://tasks.office.com/License.html is the license disclosure, and you can actually see it in action in the exported files.

We were blown away when we found out. It's the ultimate endorsement! Oftentimes we just wonder what would have happened if Microsoft just let the original project adopt a standard open source license.


Happy customer of yours!


Yeah: if it were me I'd be putting that on my CV. Quite an achievement.


Imagine if Nintendo gave away their devices just so they could have the “feeling” of knowing people are using it, rather than selling it for money.

It’s weird to me that developers write code that other companies use to make profits, while they just get paid with a “feeling” of satisfaction.


A bit too close to a troll, but there is a germ of a good point, which is whether its ethical for Nintendo to profit from this code. I think the answer is clearly yes, for the simple reason that the author chose to release his code for the world to use. Most projects will die in obscurity, unused (and unmourned).

There are a ton of project owners who would love nothing more than to be used by a big, popular platform. That's a pretty big win with hardly any risk. It means their thing beat out something that could have been made in-house by the world's best devs. Can you imagine discovering that your little thousand-star github library is present in, I don't know, Gmail? Presumably, at the very least, it means an auto-hire if you apply to any of the biggies for a very high total comp.

(And if you refuse on principle to cash in on that endorsement? I say good for you and I would like to hire you to be on my "wizard council". These are people I subscribe to to be diligent, principled, skeptical, and open about any software update I consume. This would include, BTW, a holistic definition of "software" to include firmware, FPGAs and so on. Please talk to me like an adult about InfoSec! Thank youuuu!)


It's about participating in the spirit of generosity that makes open source possible.

Yes of course they are under no obligation outside the license, but I'd like to see them send the author a toy anyway.

A company like Nintendo sends out tons of swag to people who have collaborated with the company in some way, just add the author to the list.


Or contribute back to the project.


I’m skeptical that the author would be hired and given any sort of competitive compensation. The creator of homebrew was famously rejected by Google.

https://twitter.com/mxcl/status/608682016205344768?s=20

I used to be a big believer in open source software, but as for profit enterprises continue to pillage the community without giving anything back more and more I feel that it’s not worth the time or effort involved, unless the work is protected by a proper GPLv3 license.


I'm reminded of a story Tim O'Reilley tells. When we started out, he published a set of the BSD documentation, which was explicitly licensed for free commercial use, this was long before what we know now as Creative Commons. He kept getting flak from people criticising him for profiting from publishing freely licensed documents, but one time he was at a book fair or conference and one of the authors told him how thrilled they all were to see their work in print and out there being used by so many people. That was a dream come true for them.

That is the ethos, it's what open source and CC is about. I may not be in a position to profit from some of my work, or I might be willing to donate it for free. If someone else can do something valuable enough to other people with it that they get paid to do it, good for them. The world is a better place. At the end of the day companies and corporations are just made up of people making a living.


Oh I don't know, I bet Google would love to hire someone like DHH just for their geek-brand. Honestly, they should have hired the homebrew guy for the same reason. But yeah, I think the FAANG+M's of the world understand the value of a "thought leader" type dev. (Microsoft has plenty of full-time open source devs on payroll, which I know because I've met some at conferences.)


Satya Nadella has done a remarkable job modernizing Microsoft. I’m super excited about Microsoft’s future.


I guess it must be weird to you that people volunteer free labor and money for anything. People give free money to charity. Lawyers give free time to various causes. People give free stuff to Goodwill, a for profit company, and to Salvation Army (NPO). The volunteer to clean parks even though they're already paying taxes that are suppose to cover that. They give gifts to neighbors. There's nothing wrong with giving.

My open source is my way of volunteering to make the world a better place. Whether some for profit company uses it is irrelevant to me. Plenty of companies (Google, Apple, Facebook, Microsoft, ...) give back way more than they take and even though I have about 100-160 original repos on github my free output pales in comparison to the amount of stuff I take for free. Nintendo might give less today but lead by example and that might change. Though if it never changes it still doesn't bother me in the least.


> People give free money to charity.

Oh no.

> Plenty of companies (Google, Apple, Facebook, Microsoft, ...) give back way more than they take

OH NO.

In what planet is donating to a charity the same as "donating" code to a for-profit enterprise, but even more insane (in my opinion ofc) in what planet do google and facebook "give more than they take"??


I don't know how to estimate how much Google uses other's OSS, but they certainly have generated quite a lot. Chromium, Android, TensorFlow, Go, WebM, Kubernetes, and Angular are no small contributions.


To play devil's advocate; Google give me access to an easily searchable index of the greatest repository of knowledge in all of human history for the price of a few ads. This is profitable for Google, certainly, but I feel I get more out of the deal than they do.


Google's revenue from ads for 2019 was some $135 billion.

Do you really think the ability to use their search engine is worth more than that to you?

With less than 0.1% of their annual ad revenue I could retire tomorrow, debt-free, and set up a trust fund for my daughter so she'd never have to work a day in her life.


But that is the total revenue for all ads. You hardly made up anywhere near 0.1% of that. I do believe that if you actually calculated the value that you contributed to that sum, you would agree that the value you got back was greater. I can't imagine I'd be even 50% as productive at my job if I didnt have access to the tools google provides for free.


Also I'm pretty sure the cost of ads to you depends on your person. The harder it is to get you to make irrational choices based on emotions evoked by ads the less it costs you to use ad driven services. If you are stoic enough to stop using Google services then I am certain Google ads barely affects you.

People say that ads work so of course you are affected by them, but I am pretty sure lots of people aren't affected that much by ads. Luckily for ad companies there are a lot of ad-whales out there, people who are very easy to influence and get money from. These are the same kind of people spending lots of money in free to play games, at casinos or who falls for MLM schemes.


Parent claimed that they got more out of search than google did. Parent did not claim that they got more out of search than google did, divided by the number of google users/ad targets.


Yes, I definitely meant that I personally extract more value from my searches than Google's entire ad revenue.

Google's entire ad revenue, of course, comes from "a few ads".


>"In what planet is donating to a charity the same as "donating" code to a for-profit enterprise, but even more insane (in my opinion ofc) in what planet do google and facebook "give more than they take"??"

Consumer surplus?


One example of Google giving back is the Summer of Code program. TBH I'm quite surprised that the other big tech companies don't also have GSoC-like programs.


Goodwill is a 501c3 nonprofit.


Creation isn't zero sum. I make things all the time which create shared benefit.

I spent this Saturday morning working in my front yard. It looks nice for my benefit, but it also benefits my neighbors. It would be really strange for me to approach my neighbors and ask for financial remuneration because they've been enriched by my yardwork. Yardwork is enjoyable and I like making the world better in this fashion.

I wouldn't join a yardwork company and work for free.

Software is similar. We can use OSS to share the benefit when we do something we want or need to do anyway.


Well, for one thing, we've all benefitted enormously from open source projects in our careers, so it's nice to be able to contribute something back.


Sure, but what does it mean to contribute something back? Is a for-profit entity taking your code and profiting off of it what the original idea behind open source was? Or was the idea more something like creating computer labs in Africa with Raspberry PIs?

https://www.raspberrypi.org/blog/building-computer-labs-in-w...


The goal of the open source offshoot of the Free Software movement was initially to make Free Software more palatable for businesses to adopt. That aspect of it has been wildly successful.


Do you have a source for this?


The Wikipedia page "Free and open-source software" agrees.

https://en.wikipedia.org/wiki/Free_and_open-source_software#...

"Netscape's act prompted Raymond and others to look into how to bring the FSF's Free software ideas and perceived benefits to the commercial software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the Free software movement to emphasize the business potential of sharing and collaborating on software source code. The new name they chose was "Open-source", and quickly Bruce Perens, publisher Tim O'Reilly, Linus Torvalds, and others signed on to the rebranding. The Open Source Initiative was founded in February 1998 to encourage the use of the new term and evangelize open-source principles."

It states this as a source: https://opensource.org/history


The developer was free to choose a different license.


Well, it gets added to your CV too. But, theoretically the company contributes back to the codebase for any enhancements they require making the code better for all users.


Isn’t that weird though? A for profit enterprise profits off of your code and all you get is a CV boost?


Weird as in exactly what you allow by assigning an open source license to your code? I'm not sure when the mentality of "the little guys can use my code but companies better pay me" crept into common discussion around open source, but it's never worked that way. If Nintendo didn't find a library up to their standards, they would have just created their own (likely not open source) version.


>> I'm not sure when the mentality of "the little guys can use my code but companies better pay me" crept into common discussion around open source, but it's never worked that way.

Yeah that's weird. I think it's partly people realizing the difference between MIT/BSD and GPL (or even AGPL) licenses. Or the diff between some ideal "how open source works" and what the licenses actually say.

This is a good thing. People may realise that the choice of license actually matters.


The GPL and AGPL still allow for monetisation of open source without contributing back financially to the project. Most of the recent complaints seem to be about contributing back money rather than contributing back code.


What should happen is the company also contributes libraries back to the community, although Nintendo doesn't seem to https://github.com/Nintendo. The reason that the internet is as big as it is and as accessible to small and scrappy development teams is because of open source. A lot of the internet is built on code which is given away by companies like Google and Facebook so there is a bit of give and take in this.


Hehe, I see what you did here. But it's a bit different in some ways. The developer decided in the first place to opensource the software while absolutely no one could produce a gaming platform that was free. And in this case the developer got acknowledged which is a big deal, generally big companies use FOSS without even bothering to do so. That acknowledgement may help improve the career for FOSS developers and raise the potential of obtaining really well paid commercial gigs. I wish FOSS were paid but then it wouldn't really be FOSS. At least being acknowledged is the first step towards fairness.


People also write comments/blogs (journalism) for free.


This right here, talk about a career boost. I don't think they will have to white-board to get a job ever again. Nintendo cares about code so that means they write good code and think about being able to walk around and seeing so many people smiling playing a device that unbeknown to you, you were a part of making possible. That would make my day if I ever contributed to something like that, making people smile.


I don't think this is true. At the big companies that do leetcode interviews, my understanding is that the process is rather inflexible. Doesn't matter what your past accomplishments are, you go through the same pipeline as everyone else.

Recently I was chatting with a young woman who competes in motorcycle racing at an international level. She's almost old enough to get a driver's license to drive on public roads. Do you think she gets to skip the driving test because she can ride better than all but a few people in the country? No, she'll do figure eights in a parking lot like everyone else.

Big company bureaucracy functions similarly to government bureaucracy. The rules are built for the common case and exceptions for individuals, however reasonable, are hard to make.


I don't think that quite holds true. Big companies often have different pipelines when hiring for specific roles within special projects. When applying for a general software role, you typically get interviewed by random software enginespe, and so you end up with a fair amount of canned leetcode style questions. When applying for a specific role within a project, you typically get interviewed by engineers on that project; the interviews are usually more domain specific and less leedcodey.


Yes, this might be true for certain roles and certain companies. My understanding is that Google and Facebook have centralized hiring pipelines and so an exception would be a lot more unique than, say, Microsoft, where each org/ team defines their own standards and requirements. (By the way, this is why internal transfers at MS can require an interview process. Some orgs don't trust the hiring standards of other orgs and have rules for which transfers require a technical interview and which don't.)


My comment was based on my personal experience when I worked at Google. I'm mainly an embedded software engineer, though, so I tend to get pinged for more niche projects. Google does internal interviews as well, at least when hopping between letters of the "Alphabet".

When I interviewed, one or two of the questions were stereotypical "reverse the string in Pig Latin while solving tic-tac-toe" or whatever. Most of the questions were directly relevant to real-time safety-critical embedded systems stuff though.

At some point while I was there, Google did some viral marketing leetcode foobar challenge recruiting thing. If you searched for certain keywords, your web browser would do a fancy 3D zoom effect and then give you coding challenges. I did some of them for a couple hours one time. Some of them were tricky word problems, but algorithmically none of them were particularly difficult. The only one I remember had maybe 5 paragraphs of text, and my solution was literally one line of python.


> I don't think they will have to white-board to get a job ever again.

But: https://twitter.com/mxcl/status/608682016205344768?lang=en

I think they'll never have to fizzbuzz again, but probably still lots of whiteboarding in their future.


Some people don't understand what they're doing when they release open-source code with a permissive license. This results in expecting more than what the chosen license demands.

It cuts both ways; some users expect more support than promised.


You get an interesting collision between two expectations on licensing in a modding community for an open source game.

Modding communities have historically leaned on self-penned bespoke licences tending toward the, "only Tool fans can use this! Do not rip my sprites without permission, that means you XxSephiroth494 YOU HAVE BEEN WARNED!!" school of legal text. But as an open-source project, there is a convention to upload things to the content distribution network with a GPL or Creative Commons licence.

This causes some rather dramatic fallouts when "I don't have to give you any source code, it's mine and I wrote it" or "he can't just take my mod and build his own version of it" meet the inevitable response of, "you released it under the GPL, that's how it works". It gets rather messier when said work includes upstream things which were originally released under the Tool Fan Restricted Licence or similar where the original creator forbade further sharing of source code.


I see. I wasn't aware of this problem. I never fully read the differences about licenses, but again I never released anything. That was informative, thanks.


If you look at the library (and many of his other 100+), then the code itself is so simple that it barely counts as a library. It's 60 lines where the only logic is to type-check for a string or a number.

Mind, it's not to the same level as this guy: https://github.com/jonschlinkert

Chances are it's just found itself as a dependency of a dependency, rather than being used directly. Not to shit on either of them, but they both 'maintain' a large amount of trivial packages that any language with a sensible standard library wouldn't require.


You're downplaying my `safe-buffer` library without understanding the reasons that it exists.

The Buffer security issues that Mathias Buus and I uncovered led to the deprecation of `new Buffer()` in Node.js and the creation of the `Buffer.from()` and `Buffer.alloc()` APIs. There is an explanation here: https://github.com/feross/safe-buffer#why-is-buffer-unsafe

I created `safe-buffer` as a demonstration of how the API could be fixed to be safe. Then, the ecosystem adopted `safe-buffer` as a polyfill to get that safety even before `Buffer.from()` and `Buffer.alloc()` were included in Node.js. And to this day it continues to be used to provide safety in older versions of Node.js which lack the newer APIs.

tldr; We fixed Node.js and made it safe for you. But, by all means, feel free to continue mocking me and the volunteer work I've done for the community :/


I don't think that takes away from it. He's also the author of remarkable, which is a ... remarkable library.


>why are they expected to give him freebies, contribute to the code or anything else?

Because it would be cool, and some good press that very few people would read.

After the tweet likely started to trend you see the start of the eternal GPL vs MIT/BSD debate, but the first couple just seemed pretty like they thought it would be neat if he got a Switch.


It would help if there was an IMDB for everything that everyone used. At least that was my thinking, so I built it: https://theymadethat.com/people/s730px/emmett-shear

If you scroll down, you'll see some of the tools (I assumed) he used.

If you go to one of his projects (Twitch), you can see what he used for it: https://theymadethat.com/projects/7da659d8-629f-5c10-9160-7a...

That in turn should show up in the main product profile, which results in credit being given like IMDB

https://theymadethat.com/things/wz7/twitchtv/show_built_with...

The problems are two fold:

1. It's more work to do than a normal resume since it's project-centric. Also unless you're constantly tracking this, does everyone remember all the libraries they're using? Probably not (There's still a lot of work needed on the UX front. It's not very optimized for mobile)

2. People have to start using it. (I have never marketed my IMDB for everything well enough) See #1


It's interesting that people are calling for him to get a switch specifically and not for him to get $200 which he could spend on a switch or not. That would make it feel like a market transaction and would call into question whether it was the right price, even though it was licensed to bypass the market.

So this is some sort of middle ground, folks feel like there should be a more meaningful gesture than is required by the license without feeling like it should be put into the psychological category of compensation/market rate.


Or somebody read their tweet, and then personally imagined how cool it would be if one day they got a package saying "we used your code, here's a Switch as thanks." People aren't always making complex cost/benefit analysis before posting a one sentence tweet.


I don't see how that's in disagreement with what I found interesting?

Usually the sentiment I see expressed in these threads reads to me as: hey, it's not fair that this company is profiting on your (permissively licensed) work without sharing the profit.

But I think that is not the sentiment being expressed here, and rather it is the thing you said.


I thought you were discussing the twitter replies, not the discussion here.

The top comment in this thread, the one I replied to, is basically "I'm happy for the guy, but why do people think Nintendo should/would contribute back?" It's the same GPL vs BSD discussion, just people aren't trying to rain on the individual's celebration.


The license didn't require acknowledgment at all. This is already a more meaningful gesture than is required. They are specifically calling out this software as something powering the Switch software.


MIT does require acknowledgement. Nintendo was legally obliged to include the full text of the license and the copyright notices in their documentation.

Not everyone is a fan of that requirement, which is why Unlicense, 0BSD, 1-clause BSD and Boost licenses were created.


>but the first couple just seemed pretty like they thought it would be neat if he got a Switch

How much did he paid for the compiler?


Huh? He released his stuff as open source. That's exactly what other open source users using GPL-style licenses want. Nintendo are the ones not releasing their software as open source. They're the ones using open source without giving back, thus breaking the chain. (Which permissive BSD-style licenses do allow.)

It seems like you're drawing some false equivalence between the open source developer and Nintendo.


Open source licenses say nothing about giving back and in fact the OSI quite deliberately moved away from that idea as a key differentiator between themselves and the FSF.

If someone wants to distribute their software with the expectation or requirement that derivative works in some sense give back to the community they should use the GPL or AGPL.


>That's exactly what other open source users using GPL-style licenses want.

LLVM is NOT GPL.


>He released his stuff as open source

I bet his compiler is opensource too.


So what point are you trying to make exactly? He's using open source software and then contributing back to the open source community; he's a model citizen of the community. Nintendo, meanwhile, is taking without giving.


It's node.js, I don't think there's much choice.


Do we know this?


The conversation exists because this guy in particular has talked and implemented various (in my opinion hostile) methods for commercialising open-source work.

See his "experiment" (https://github.com/feross/funding) and selling terminal ads during npm install (https://dev.to/adriansandu/npm-bans-terminal-ads-and-mozilla...)


>Why would the company give him anything more than acknowledgement?

Because there is a level above "doing the absolute minimum necessary" that is a nice-to-have, but not at all mandatory nor expected.

It seems like everyone is purposefully going out of their way to not understand that throwing him a freebee that's cheap compared to the cost of engineering time (e.g. a nintendo switch) would be a pleasant thing to do and a way to buy goodwill.


> "Why would the company give him anything more than acknowledgement?" [...] why are they expected to give him freebies, contribute to the code or anything else?

I disagree that it's "expected" that the company gives him anything, there's generally no expectation like that in OSS. BUT it'd be super-cool if they did give him a Switch!


Exactly. The people who are commenting on Twitter that they "owe" him something don't understand what FOSS is.


"why are they expected to give him freebies, contribute to the code or anything else? "

Because they make big money with his work and he does not.

So sure, legally they do not owe him anything, but morally a material compensation would be adequate.

If the idea spreads of freely compensating OSS, then more OSS work could be done fulltime. Money still rules the world.


> Because they make big money with his work and he does not.

They don't make big money with his work. They make big money with their own work, and he delivered a very tiny gear in that. It's not like he made some genious unreplaceable part which is worth billions on it's own. It just happend to be there and fullfil a demand they had. They can acknowledge it and give him something extra, or just follow the lizense and mention what's neccessary. It's up to them and how much value his work has for them.


Since feross would materially gain from being gifted something from Nintendo, should feross give partial ownership of the Switch to the authors of the open source tools he used to build his library?

Also, yes, the Switch makes a lot of money, but if I had to assign a percentage of revenue that is attributable to feross' library, I think I would assign it exactly 0.00000%


"but if I had to assign a percentage of revenue that is attributable to feross' library, I think I would assign it exactly 0.00000% "

How do you know? Did you followed internal developement of the switch?

"Since feross would materially gain from being gifted something from Nintendo, should feross give partial ownership of the Switch to the authors of the open source tools he used to build his library?"

Why not? Whats wrong with inviting them over for a gaming round, or sending parts of the money? Depends on the amount.


I know because the author's project, safe-buffer, is obviously open source, and you can look at it on his github. It is 65 lines long, and mostly boilerplate. And what isn't boilerplate isn't even particularly complicated code (which is a good thing) - it just adds a few common sense safety checks to the Buffer class.

> Why not?

Nothing's wrong with that. But if the author doesn't do it, I won't call him an ungrateful asshole and berate him on twitter.


"I know because the author's project, safe-buffer, is obviously open source, and you can look at it on his github. It is 65 lines long, and mostly boilerplate"

Ok, well, I didn't. And probably neither did most people on twitter. That being said, you probably know too, that even some lines can be very valuable, if they prevent crashing bugs. In either way, it is a value.

It just would be nice, if companies could find more ways, of giving back to OSS, if they use it.

The internet sentiment is, 'they' are exploiting the OS community - thats why the harsh reactions, even though maybe not justified in this case.


Yes, it is a value, but it isn't really anything that couldn't be rewritten from scratch in about 30 minutes by a typescript developer.

And it's possible that they aren't even directly using his code, and don't even really know about it beyond an automated system publishing the licenses. Due to the way licensing works, Nintendo could be using OSS library A that they shower their largess upon with free switches, but library A uses library B, which uses library C, which uses safe-buffer. Safe-buffer would still have to have their license published in that manner, but it isn't really clear that nintendo is exploiting that party. Hell, it could even be the case that the author's code is never actually executed on the switch, if for example it was bundled in but is part of a feature that is never called, because Nintendo wanted to use other parts of the same library that happened to include safe-buffer.

By the way, I just checked Nintendo's open source switch library, and there are at least 36,000 copyright notices present in the archive. That's a lot of free switches!


Companies do not run on morals. If you want people to pay you then sell it as a product. Likely you will find out that Nintendo would rather reimplement it themselves.


>I'm just kinda curious about some comments on Twitter and here.

My opinion is that if we knew, fully understand and answered your questions we would have nearly ended all the past, current and future political debate.

Some people just always wanted more, especially those who are making more profits.


The licence doesn't require giving anything back, but when you're a massive for-profit corporation, it would be easy to do something nice to the people whose work you're using for free.


The hard part of giving things to people is not necessarily gathering the things; but determining which people, and finding their contact information, and complying with taxes and tarrifs.


To be fair, that wasn't the author's viewpoint - just random people on twitter. You can find a lot of insane ramblings in responses on twitter.

For everyone that thinks he should get a switch for his work - I wonder if they also think that the author should, say, lend out his switch to open source authors for a week or two for using the open source software that he almost certainly used in order to build his library which was included in the Switch.


I guess it's mostly about acknowledging his free contribution to their own work. Being thankful and such. Though, it's questionable how much value his work really have for them and whether the company is actually aware of it. Likely the devs at nintendo decide such things on their own and non of the manager who decide on gifting stuff even know about this.


The company is following the license, as they should for any other. I'm glad to see this (and/but will note in my experience Nintendo is an above board company).


If Nintendo would donate to the developer of the software they used, they would be good community citizens.


Because they have more resources, and open source is largely volunteer driven.

It would be great press too.


A meet and greet with Mario would be nice :-)


Put me in the camp of those that feel that there is no need for any special compensation from Nintendo. Attribution and recognition is more than enough. Isn't it exactly the reason for releasing the software under this license?

People who release free software are generally people who enjoy programming. A programmer with a proven track record of releasing high quality free software should have no problem securing a high paying job. If this guy happened to be looking for one this public attribution from Nintendo is surely something that can help level up a CV.


Same. Why are we having this discussion anyway? The author released his code with an MIT license. He couldn't have made his intentions of free/fair use more explicit: https://github.com/feross/safe-buffer/blob/master/LICENSE


He's just surprised/happy about it and isn't demanding anything. Other people are the ones saying Nintendo should compensate him in some way, shape or form.


> Attribution and recognition is more than enough.

To be fair, they're just fulfilling they're legal requirements. Second paragraph of MIT License requires including License and copyright notice:

"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."

which is exactly what they did.


Ferros is one of the open-source devs who make a huge amount of open-source work, but rather than spread the glory and share ownership, he instead complains that they have too much work and start to try commercialise their work. He ended up trying various experiments to fund his open-source work, one including selling terminal space when installing npm packages.

"This was due to a project funding that was created by Feross, one of the StandardJS maintainers. The idea behind Funding is that companies buy ad space in people’s terminals, and the Funding project then shares its profits with open-source projects who signed-up to show the ads." - https://dev.to/adriansandu/npm-bans-terminal-ads-and-mozilla...

My point is that he could have a normal job, but he got lucky with a few projects and then built a life around the kudos from open-source projects (like Nintendo's endorcement).


I was expecting a rant, but finally somebody is happy that a company is using his code :)


I was expecting a rant, but finally somebody is happy that a company is using his code :)

It used to be a huge honor for a program you wrote to end up in a computer magazine for millions of people to type in for free. I was published twice in the mid-80's and only got a copy of the magazines, but that was enough.

Back then, it was also common for the magazine to publish your home address and sometimes phone number so people could get in touch with you with questions.

Programming is no longer a community. It's a competition.


> Programming is no longer a community. It's a competition.

Programming is no longer an engineering job. It's no longer a form of art. It's this race to the bottom where you have to mindlessly glue together as many libraries as it would take to write as little of your own code as possible, treating said libraries as black boxes.


This is so cynical, yeah plenty of people have jobs that look like this, but if you look hard enough, there are tons of corners of the internet where people (communities!) are doing weird and fun things with code.


I think this is a great misunderstanding. One of the greatest contributions from Unix is the idea of programs that act as composable building blocks. You shouldn't need to reinvent every wheel to get your job done.


I mean, operating systems are remarkable pieces of engineering. Mostly. But that's not what I'm talking about.

I'm talking about those cases when people pile 5 layers of abstraction just so they don't have to learn something, but get done with the job a little bit quicker. They don't try to understand neither the inner workings of these layers nor the CPU/memory/storage cost. If it means you write fewer code, it goes into your project. Thus you end up with "desktop apps" that are websites, with all the amazements (/s) of the modern web development, packaged with an insanely complex thing that a web browser is — just so the bullshit unrealistic "business requirements" are met. Or laggy, bloated mobile apps that get updated every week with no discernible changes. These just scream that the people behind them have no clue what they're doing.


> These just scream that the people behind them have no clue what they're doing.

Or maybe they know exactly what they are doing, but what they are doing isn't what you think they are doing. I'm pretty sure nobody at Slack regrets using electron.


> Or maybe they know exactly what they are doing, but what they are doing isn't what you think they are doing.

They're fixing bugs in an app that is 10 screens of lists. How does someone who knows what they're doing make this many bugs this subtle in such an app? I have no idea.

> I'm pretty sure nobody at Slack regrets using electron.

I'm pretty sure nobody at Slack cares. They do whatever their managers tell them to.


> How does someone who knows what they're doing make this many bugs this subtle in such an app?

What they're doing is building a successful product and company. Code quality is probably not very important to this goal.


I always imagine people like this in a situation like: what if a business need comes across for a desktop, a website, mobile apps, fully responsive, theme-able, animated.

You have 1 week.

I'm not big on web technology du jour so despite my years of experience not sure I can... but I bet you a random bootcamp graduate who couldn't tell you what a TCP packet is could do it!

And there's the fact they don't know how TCP works and their solution takes 100x the RAM to do a simple task than a native app apparently isn't stopping similar apps from doing X million AAR...

It's hyperbole, but in the opposite way of "it's just 10 lists".

These programs you see don't exist in a vacuum. The requirements you see before your eyes are the tip of the iceberg.


It's so weird to see everyone think of everything in terms of money, everything being done in the name of it.

> what if a business need comes across for a desktop, a website, mobile apps, fully responsive, theme-able, animated.

What if someone wants a baby in a month? It doesn't work like that. No matter how hard you try, it takes 9 months. It's the same with quality software. These arbitrary unrealistic deadlines help nothing.


I'm dying of laughter because this is exactly the reply I would expect from someone of the school of thought I was representing.

But I'm sorry, that's a thing! People ask for a baby in a month, get a baby in a month, sure the baby is not great, but it gets them pretty far. Not everyone has the luxury to say no and walk away. Honestly I find that kind of weird gatekeeping in our profession kind of sad.

-

The people who "only know how to slap together components" are starting somewhere. I was privileged enough to have access to technology from a young age and tinker to my hearts content so I ended up with a deeper understanding of things. But there are people who started from nothing, didn't have the opportunity to even tinker had they had the access, they were working on moving forward in life.

Now our field has been democratized to the point people don't need to have had those opportunities to do amazing things, we act like that they do is somehow lesser, even though once we swallow our pride, at the end of the day people don't care that much.

People notice their apps crash, people complain things are slow. But when the chips are on the table, they deal with it very well. The web has gotten slower and slower, and it's usage has gone up and up. The apps have gotten buggier and buggier and the amount of utility they provide has never been higher.

-

Also I thought about pointing out the context is for-profit apps here when talking about people rushing to ship hastily slapped together legos but figured anyone having this conversation would realize that.

In that context money is everything. No point in shipping a formally verified native app if a competitor takes the entire market with their 1 month baby and no one uses it. (and yes sure you can point out the academic satisfaction of it... but academic satisfaction isn't going to pay a mortgage or feed your kids)


I don't write software that is used by the masses, so I have the luxury of not needing maximum compatibility. If it works on the machines the company needs, then it's good enough. I get that some of the heavy weight libraries offer not only the speed of immediate working availability with "battle" tested compatibility (thinking web/javascript libraries specifically). However, I like learning. I like understanding why things work, or more importantly why something didn't work. If that means I have to re-learn something others already know, then so be it (that's what learning is).


APIs codify the concept of "Standing on the shoulders of giants", but substitute "giants" for "$X". The social consequences of that substitution are still being worked out today.


Gluing together libraries means I can build something bigger.

You could also say the same thing 30 years ago about people using the C standard library instead of implementing their or strncmp in assembly.


Back then no one was running mission critical enterprise software from typings in magazines.

Now entire stacks of the internet rely on libraries developed by one or two people who are bus factors, and humans prone to burnout.


Back then no one was running mission critical enterprise software from typings in magazines.

Depends on the mission. Plenty of businesses relied on type-in programs for their day-to-day survival.

Today the term "mission critical" is a victim of scope creep and people trying to inflate their positions.


It's not a competition, per se. It's the daily livelihood of 50 million people today and probably 100 million people in 10 years.

Not everyone wants to live an ascetic lifestyle or can afford to be a hobbyist, so expectations have changed.


Its less about being able to afford and more about people using everything to improve an imaginary success metric in life.

This is a problem with many hobbies in modern times where everything is a competition with others and less about enjoying it.


That's assuming that before everything was not a competition. It was, and it was often violent.

Programming just became mainstream and it more accurately represents society as a whole.


I have had listings published in old magazines. Yep, sometimes I got a cheque for 40 quid and was giddy with it. Other times, a couple of copies of the magazine.

I tend to agree with your comment about "it's a competition." It is why I release a lot of things these days under "do with it what you will. I'm just here for the lulz."


It must be the first time I see a developer licensing his code under the MIT or BSD and then being happy when he sees his code being used by someone else.


Oddly though there’s about 20 replies expecting developers of OSS code get a free Switch or some personal thank you from Nintendo.

I’d personally be satisfied contributing to the world of software so broadly. That’s why you do open source, making the worlds software better for everyone.

Monetizing something called ‘safe buffer’, or even to the point of pushing for a freebie and a thank you card on social media, seems silly to me (which I don't think OP was doing, only in the replies).

If it was some commercial license for a small Node library, which they had every right to choose, it would have probably died in obscurity anyway. And what good does that do the software world.

Meanwhile getting to say your code is used by Nintendo Switch on your resume, or bragging rights to your nephew or whomever, seems more than enough to me. Part of the hacker ethos.


> Meanwhile getting to say your code is used by Nintendo Switch on your resume

Yeah, that's immediately what my mind went to. If my code was used by someone as major as Nintendo, then I wouldn't be making a fuss. But you can bet that I would have 50 different ways to move that into a discussion during a job interview.

Yeah, sure it would be nice if people sent me free things because they're using my code. However, putting restrictions on my code or making a huge stink about it on social media sounds like a good way for people to not use my code.

If I wanted something back for sure in exchange for my code, then I would license it such that I'm going to get something back or setup some other contract. I thought that's how adulthood worked. If you want something in exchange for your work then you need to set it up ahead of time. If you want to give somebody something then you shouldn't expect anything back. You gave it.


> your code is used by Nintendo Switch on your resume

Great point. In the current market for devs, the expected value of that is probably worth ~$10,000's+.


Easily could be more if they specifically need his niche.

A switch is ultimately a mid spec Androidish tablet. I'd imagine embedded system manufacturers would really value him


I think you’re overestimating the package in question. It’s about 50 significant lines of code total:

https://github.com/feross/safe-buffer/blob/master/index.js

It’s a tiny API wrapper in JavaScript for older Node versions. While useful for someone on older Node, it doesn’t really say anything about the author’s embedded system chops.


It’s looks like it’s just a polyfill. Not to diminish the achievement, but you’re correct: it’s doesn’t reflect on his embedded skills (if they even exist).


kudos for doing the quick research into the actual topic and background of the situation at hand instead of soap-boxing about hypotheticals.

This should have been mentioned in the original post as it gives some much-needed perspective about the scale of the contribution.


Good point, I definitely didn't research his actual library.


Indeed, I also have had some problems in the past with 'hackathons' I attended which were heavily organized around competition prizes. There were obviously teams simply goal chasing for prizes. Which I felt the organizers pushed so hard for that it went against the 'spirit' of hackathons.

There's plenty of personal gain to be found being an OSS developer (especially in a group setting just outletting creatively with other talented people) without directly making the motivation prizes/money the end goal.

No one is against rewarding OSS developers as much as possible. I'm certainly not and think every successful company using OSS software, aka all of them, should have a wing donating to projects. But I am against watering it all down to some narrative of OSS developers somehow being exploited by commercial companies.


And Feross himself is a perfect example of one who is trying out different ways to be a full-time open source developer: https://feross.org/funding-experiment-recap/

Having companies and individuals supporting him: https://feross.org/thanks/

As well as offering actual support contracts: https://feross.org/support/


>Meanwhile getting to say your code is used by Nintendo Switch on your resume, or bragging rights to your nephew or whomever, seems more than enough to me. Part of the hacker ethos.

When I worked with some security folks and they'd get vulnerabilities and etc recognition was a big deal. The security researches (or hackers, whatever you wanted to call them) who reached out to us loved getting their name in release notes or wherever they could point to.

It made sense as it was legitimate recognition of some seriously helpful work. Cost the company nothing to put it in there and made some folks super happy.


On the one hand, I think that would be cool if Nintendo did that. On the other hand, that would (or, so I imagine, maybe people are better and I’m just a cynic) produce a giant outrage how Nintendo thinks that’s all their work is worth, so I don’t expect them to ever do that.


Yeah, if you're going to make something freely available, I don't understand the frustration when someone, even a lot of someones with money, decide to use it, for free.

If they start making demands for fixes, enhancements, etc., Then sure, by all means provide your $$$ rates, or encourage them to contribute to the project with their own programming time.


Well, they may have saved significantly more than $100 (or whatever a Switch costs) by having this software available. There certainly is precedent for compensating your open source contributors. When VA Linux had their IPO they granted options to buy 100 shares to their software contributors, which turned out to be worth tens of thousands of dollars. Red Hat had a similar program.


This appears to be the entirety of the code:

https://github.com/feross/safe-buffer/blob/master/index.js

It is 65 lines of Javascript that's mostly boilerplate. I doubt it saved them significantly more than the cost of manufacturing + shipping a Switch, or that they even used it directly. More likely this was just pulled in as an indirect dependency.


cool, so are you going to come work for my company for free? you can put it on your resume.


This is wrong.

As an adult living in a world with other adults, if I want to get paid for my work, then I'm going to setup that interaction ahead of time.

If I wanted to con people, then maybe I would put something of value out for anyone to take. Then once people take it, I would pressure them for something of value in return.

If I give out a gift and it makes someone want to give me a gift in return, then that's nice. But they aren't required to give me a gift. That's the whole point of giving a gift in the first place. It doesn't setup a compulsory need to reciprocate.


The point is, they offered a library with the MIT license, expecting money for it doesn't make sense.


When I release OSS code, I expect everyone to be able to use it, and I do it on my own schedule, based on my own interests. It's purely self-motivated.

Were I to write code for your company, I bet you wouldn't let me release the code to anyone else (I can see it in your little eyes) and you'd definitely demand to control what I write and how quickly. It's externally motivated. The external motivation I choose is money.


There's the "false equivalence" advocate who shows up with the same trite comment every time open source is discussed. Knew you'd be here eventually.


tsk tsk, it's called "paying in visibility" or "career-building opportunity".


It's a traditional economic model in the arts. Most musicians and photographers put shelter over their heads and fill their bellies with nothing but "exposure".


yeah, and we all know how well that has worked for them


It would not have cost Nintendo much money to ship a free Switch to each developer / organization - but you can guess that every single one would have tweeted about it.


This is a good point, but I think there are some unfortunate side effects. Once you give away free stuff because you used someone's (open sourced) code, now you have to get the PR people involved. In the future if your devs see some other open sourced code that they want to use, now instead of needing to get legal on board they also need to get PR on board.

"Oh, hm, well we don't really want to give away free consoles this time around. And if we don't then it will make us look bad because we did last time. So don't use that code."

As a dev, I don't really want to have to check with 50 other divisions in the company before I use some open sourced stuff. And then get denied because of some unrelated PR event is going on.


I generally agree with this school of thought. Acknowledgement whether necessary or not is just a nice gesture and it would be great if more companies did it with the open source code they are (presumably) using in line with the license.

But, as soon as you start paying, you have: 1.) All the other open source code they're presumably using possibly in more trivial ways and 2.) As soon as money enters the question it can become a matter of "My library probably saved Nintendo tens of thousands of dollars in development costs and all I got is this lousy console. No wonder people say open source development isn't sustainable." (Whether that was the case here or not.) It might have been a nice gesture but it could easily be taken the wrong way.


I'm in two minds about that, at first I thought exactly the same.

But then you might think, for some things anyway, Wait a minute, you're recognising the value you get out of it... and you're valuing it at only ~£300 (or whatever).

I think 'just trying to be nice' could back-fire.


Yes but that should be an organic thing from within Nintendo.

On the other hand pushing it hard so it becomes a 'thing' would leave a bad taste in my mouth. Although rewarding OSS is something every major company should strive for (In Nintendos case specifically I'd be personally be surprised given what I've heard about Japanese corporate culture, but I'm just speculating here).

But it is indeed a good marketing strategy, at least if the HR and marketing teams were even aware of such things (ie, people who have control of sending out freebies). Which is why having technical leadership throughout the company always helps. Ultimately it will come down to an organizational thing.


What companies like Nintendo should do is to sign up for OSS support services like https://www.tidelift.com/, and whether they have or haven’t we don’t know.

Sending out free consoles would just be a marketing gimmick, and could just as well backfire as “you can’t eat a console, do Nintendo really think consoles are the way to support open source maintainers?” etc


exactly, corporate altruism has so many ways of backfiring, your example is one great example. I can just imagine the sort of mental gymnastics Twitterers will find to be outraged at any x billion dollar company efforts to do low-tier outreach with freebies.

Just simply supporting OSS directly, as in real money, is more than enough to quiet these "they should give x freebie".

That is all the mob should be calling for as a standard practice. Not sending some random developer who happened to get popular on Twitter a nintendo.


That's because we all focus on the people who complain. The vast majority of open source developers actually understand their license choice and hold no grudge when their code gets used.

The response that people should "Use GPL" belies the reality that most companies and individuals avoid GPL libraries like the plague. A full GPL program is a different story of course.


This is exactly right. The vast majority of people who do open source work are like this guy: They know the deal up front and they’re happy to see their work being used exactly as they intended.

It’s not newsworthy, so we don’t talk about. We only see headlines when someone makes waves by trying to claim the deal was something other than giving the code away.


Really? I license my libraries (tiny as they are) under MIT, specifically so that they can be used by anyone, with no restrictions whatsoever. I am very happy to hear when they are getting used.


A friend of mine wrote a tool that I contributed a small portion to. We got a PR from a Facebook employee who had modified it to better report a certain thing for one of their internal build systems. It was a lovely day!

Honestly, it makes my day to get a PR. It means someone is using the thing :)


Daniel Stenberg, the developer of curl, has talked/written frequently of being proud of how ubiquitous curl is, and finding his name/email in everything from smartphones, cars, and Grand Theft Auto 5:

https://daniel.haxx.se/blog/2018/09/17/the-worlds-biggest-cu...


Maybe that's just some kind of selection bias in regard to publicity. A guy being happy usually generates less attentation than some widely agreed outrage.

I, for one, prefer to open-source my libraries under MIT and see it used rather than using some more restrictive license and having it never end up being used anywhere :). So add me to your list of people being happy their code gets used.


I believe the creator of minix was quite pleased to learn that it had been used in Intel ME, just to name another example.


Not really. Though he willingly helped Intel during development, he was not happy to learn it had been used to develop what he considered a spy engine. Kind of a niche area though, if they hadn't requested his assistance or used MINIX for a different project he would have been pleased.


Okay, so I went and looked up his "Open Letter to Intel" - https://www.cs.vu.nl/~ast/intel/ - and I get a kind of mixed message. He does say, as you note, "If I had suspected they might be building a spy engine, I certainly wouldn't have cooperated", but above that postscript, he says, "If nothing else, this bit of news reaffirms my view that the Berkeley license provides the maximum amount of freedom to potential users. If they want to publicize what they have done, fine. By all means, do so. If there are good reasons not to release the modfied code, that's fine with me, too." So I guess, "license is working as intended, but I don't like what you did with it"?


He seemed to dislike how they actively got his assistance to build a project he objects to, but doesn't have an issue with their use of his code.


They fulfilled their end of the MIT license. Most don't. I'd be pretty happy too


Well, Nintendo actually seems to have complied with the license.


Yeah good job whoever submitted this - the headline makes you think Nintendo is ripping off code. "No! Not Nintendo!" And then you click and it's just one of hundreds of open-source authors who's code is used by the Nintendo Switch. Not to disparage the guy's accomplishment in getting that far though!!


Well, the dude specifically chose MIT license. People who choose MIT licensing are generally comfortable with people taking their work and incorporating it without recompense.

It's a deliberate choice. I'm not surprised that his response is more mind-blowing shock rather than anger.


Absolutely giddy that a multi billion dollar company is profiting massively off of the generosity of an individual without contributing anything back!

Edit: And this is somehow controversial! Do tell me more!

GPL your shit people.


When licensing with a permissive license, YOU (as open source developer / contributor) are being generous, you're giving your code away expecting NOTHING in return other than (in most cases) a copy of the license with the finished product. That's open source, the rules or license does not change if it's used by another OS developer, an indie startup, a charity, or a multi billion developer.


It'd be interesting to see a license that's permissive for non-commercial use and copyleft for commercial use. Or maybe the copyleft kicks in when the commercial derivative work starts earning a certain amount of money. It would be kind of like dual licensing under CC BY-NC and CC BY-SA.

I think it would still count as a free and open source software license, and it would allow small and independent developers to use the software without worrying much about the license, while requiring big companies to release the source of the derivative work.


It'd be interesting to see a license that's permissive for non-commercial use and copyleft for commercial use. Or maybe the copyleft kicks in when the commercial derivative work starts earning a certain amount of money. It would be kind of like dual licensing under CC BY-NC and CC BY-SA.

I think it would still count as a free and open source software license, and it would allow small and independent developers to use the software without worrying much about the license, while requiring big companies to release the source of the derivative work.

It would not count as free or open source

It goes against freedom 0, and criteria 5 and 6 of the open source definition

https://fsfe.org/freesoftware/freesoftware.en.html

https://opensource.org/osd-annotated


What I'm thinking of would affect freedom 3 more than freedom 0. I guess by "use" I meant "incorporate in another program". But I still think it counts as free and open source because it doesn't actually prohibit commercial redistribution, it just switches to a different license type.

It's GPL plus an additional permission that noncommercial derivative works don't have to share the source code.

Anyway it's probably not actually a good idea.


The BSL strikes a good balance there: https://perens.com/2017/02/14/bsl-1-1/

As it always resolves to an open source license after a set amount of time + is always free in many other ways.


Kindof like Qt? They have it set up so you can use it under the LGPL terms, but if you pay them, you can negotiate a proprietary license (for example: if you wanted to statically link[a]).

[a]: The LGPL allows proprietary usage, but only when the LGPL library is dynamically linked in. The reason being that if it’s a separate binary file (.so, .dll, etc.), the user can replace it with their own version. If you statically link it (embed it in the program binary), the full GPL kicks in (IIRC).


Whoever owns Qt now is so threatening (I suppose they think of it as "aggressive marketing" but it's really threats) that it looks safer to treat Qt as GPL, or avoid it entirely.


Whoever owns Qt is: Qt. They were spun off from Digia (the company that bought them from Nokia) in 2016.

It felt like Qt was (relatively speaking) all over the place when they were owned by Nokia, but have been in a slow decline of mindshare for years. Of course, that's concurrent with the rise of Electron as the cross-platform app wunderkind.


When they were owned by Nokia you knew Nokia wants Qt to be used everywhere. Now it's not safe to use it without a lawyer on retainer.

Plus, from my friends who still do Qt, they're trying to turn it into an Electron-like platfom with Qt Quick and QML and the result isn't exactly the dependable platform that we used to know and love.


That doesn't really surprise me. It's not really a bad idea, but it's also probably an idea that they should have been able to deliver five or six years ago, and maybe had something better than Electron by now. (And of course licensing that didn't scare people off seems like it would have also been a good idea...)


I think this is more likely to hurt a project than to help it. Companies will avoid it entirely, putting work into something with a more permissive license. If there isn't an equivalent, they might implement one, open source it (a lot of tech companies have open sourced some big things), and that will be the one that gains popularity.

As long as as developers are willing to develop something 80% as good or a company open sources something that good, the one with the messy license will never get the same traction.


Like the BSL? The Business Source License: https://perens.com/2017/02/14/bsl-1-1/


Looks like for a lot of companies putting in a paragraph of text acknowledging they used the MIT-licensed work is a mission impossible. A short paragraph of text, come on!


I think the controversy with this comment is that if people want to "GPL their shit," nothing is stopping them. Personally, anything I've open sourced is under MIT, because I don't care if it gets used. And that's my choice


Interestingly most of the anger was before I added that.

I agree it's your choice. I will say, however, that we need to band together as a community. This of course depends on your views on the future of OSS but if you want corporations to also participate and maybe have a chance at a completely open source future, we need to collectively insist on GPL. Doing otherwise minimizes the efforts of those who want more OSS participation from corporations.


One other thing I want to point out - when using OSS at a corporation, I have sometimes contributed back to the project as an individual. Sometimes that's because I've done it after hours, and sometimes it's because contributing back as a "representative" of the company would have required going through red tape


I, too, am a GPL fan. But come on, who are you or I to dictate what the author of a piece of code does? This guy seems genuinely happy that Nintendo used his code. What's the problem?


It's controversial because your tone is childish and condescending.


Then why the hell call it open source and contribute code to society? Work as a freelancer and ask money for it.


word


You're welcome to GPL your code, if you want to be sure that nobody is ever going to use it.


You mean like that guy from Finland that created this Linux thing that nobody ever used?


The guy who wrote a program, not a library. GPL in a kernel doesn't contaminate the way it does in a library.


Doesn’t it affect kernel modules though? The whole “free” vs “non-free” module thing?


The one who refuses to move to GPL3?


My understanding is that even if the man at the top wanted to, Linux is copyright all it's contributors so all would have to agree to a relicense. This would be significantly more effort than it's worth given there is no shortage of contributors happy to use GPLv2.


It's legally complicated. In the past, Eben Moglen has said that he thought it would probably be possible under some sort of collective work theory. But certainly others disagree and Torvalds was not a particular fan of how GPLv3 skirted close to usage restrictions anyway.


There’s also the problem that many of the older contributors probably aren’t reachable at the email address attached to the commit. They may even be dead in which case you’d need to find who the copyright transferred to (next of kin? Did the will give it someplace else?), and get their permission.

They certainly could mandate that all new contributions are licensed as GPL2+, not the GPL2-only a lot of it is under. Then, after an eternity, when every bit is now GPL2+ (either by relicensing or rewriting), mandate all new commits are GPL3+. Then the only way to use it would be to rip out the GPL3+ parts (if you want GPL2 terms) or to use the GPL3.

Simple!

Except not really...


This was something I wrote at the time. https://www.cnet.com/news/linux-to-gplv3-a-practical-matter-... (Unfortunately, the original article referenced seems to be lost to the mists of time.)

The theory I guess is that, even absent a contributor license agreement, contributors to the kernel are effectively contributing to a collective work and that the project as a whole could make changes even if individual contributors did not agree.


Besides the technical difficulties, Linus is very outspoken against the GPL3


Reminds me of something Jim Weirich (author of Ruby's `rake`) used to say:

> Fun game at apple store: on any mac, in terminal type: "grep Copyright `gem which rake`"

... which would print his name, because Ruby and rake are bundled with macOS. :)


Complete with his email address. Would be fun to do a GDPR removal request on that piece of personal info.


Even if this counted as processing of personal data (questionable), it would almost certainly be lawful under the "processing is necessary for compliance with a legal obligation to which the controller is subject" criterion.


Not sure you can request already publicly available information (https://github.com/ruby/rake/blob/master/rake.gemspec + everywhere where rubygems are replicated) to be deleted. Even less so when you as the author made it public themselves.


I was happy when I found out that my code was used in products by large companies like Disney and Hasselblad, but yet also ashamed because it was the cause of some of their product vulnerabilities and painted their product in a bad light:

- https://www.zdnet.com/article/circle-with-disney-web-filter-...

- https://threatpost.com/popular-circle-with-disney-parental-c...

The code in question was a primitive mDNS announcement library written in C, which I licensed under the 3-clause BSD license.


I mean, that's clearly their fault and not yours. The license could not possibly be more clear:

    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
They essentially picked up a print out of some source code they found laying on the ground in a park with a sticky note on top saying "DO NOT USE" and then threw it into their security-focused product for shits and giggles.


> They essentially picked up a print out of some source code they found laying on the ground in a park with a sticky note on top saying "DO NOT USE" and then threw it into their security-focused product for shits and giggles.

to be fair mDNS is complex and shitty enough to use that it'd likely have been worse if they reimplemented it themselves.

I mean just look at the official Apple code:

- https://github.com/SteveKChiu/bonjour-embedded/blob/master/m...

- https://github.com/SteveKChiu/bonjour-embedded/blob/master/m...

- and the best, that 8kloc single file which implements the main logic of it https://github.com/SteveKChiu/bonjour-embedded/blob/master/m...

makes my eyes bleed every time


The guilt is obviously out of professional pride, not a sense of legal obligation.


So, I'm seeing a lot of dislike for the GPL in these threads.

Just curious, as a side question... suppose one really does believe that users should be able to improve and modify the software on devices they own and share those improvements with others; is there a better license out there?

(The current situation reminds me a lot of a Prisoner's Dilemma problem -- if the open-source community typically used the GPL, there'd be significant economic pressure on companies to work with GPL'd software, but in our current world, the individual developer has to choose between giving their code away as non-GPL open-source or toiling in complete obscurity, and it's no surprise that individuals choose to at least get the cred of seeing their code used.)


The AGPL goes further than GPL in the requirement of providing source code, so in a way its more GPL than GPL itself and thus maybe "better".

On the prisoner's dilemma – I see two major dimensions in BSD/MIT vs GPL:

* Should a license enforce the giving back of code or should one be free to do so out of ones own will? Which is the most "free"? Enforced freedom or freedom to be free? (Which one is best really depends on how one defines and values "free")

* Does a long and complex license like the GPL help a project or is the simplicity and shortness of BSD/MIT better?

(Then there's the third type of license which is Apache, which is basically as open as BSD/MIT, but still as long and complex as GPL, to cover eg. patents in addition to intellectual property)


It depends on how you feel about the word "should."

At core, there are two different philosophies at play here.

On one side, you see copyleft licenses. These licenses impose a requirement on anyone who uses/modifies the source code. This requirement is for the purpose of ensuring that all versions of the source code are available for all potential users of the code. They do this by requiring source modifications to be licensed similarly and made available.

On the other side, you see permissive licenses, such as BSD or MIT licenses. These impose no requirement upon users/modifiers of the code, other than preserving the copyright notice on the copyrighted code. Derived works need not share a similar license, nor do modifications need to be made available.

Both categories of license allow downstream users of the code to do whatever they wish with it in that neither restricts usage of the code. Copyleft licenses include a requirement to share and share alike. This imposes additional legal burdens on some usages of the code - it doesn't prevent it outright, but it forces certain actions as a condition for certain usages of the code. Permissive open source licenses impose no such burden.

Both allow users to improve and modify the software on their devices. Neither prevents sharing those improvements with others. One requires sharing those improvements with others.

So, I'll conclude by restating my initial point: it depends on what your definition of "should" is. One interpretation of should is normative - you believe in this thing and you believe that it is well and good that requirements to act in accordance with this belief are imposed upon others. The other interpretation is that an acceptable license does not restrict such behavior, but also does not enforce it either.


No, the problem is not really a prisoner's dilemma here. Rather, there's a philosophical difference between two parts of the community. Many people don't want to do work for large companies for free, and dislike their work being used without compensation. So, they license it under copyleft licenses. Others (like me) don't really care and mostly write stuff because it's fun and interesting. We publish things under permissive licenses. Even were GPL the standard, I'd probably still use permissive licenses because I don't care where the code is used.


Except... big companies can use GPLd code for free -- they just have to provide their modifications somewhere, and make it possible for users to replace the GPLd part (which is where things typically fall down).

So... if you genuinely don't care, why wouldn't you release software as GPL instead, so that you're not enabling companies to more cheaply provide software that prevents people from making modifications?

(And to be clear, I'm asking as devil's advocate here -- for myself, I have a few personal projects I haven't released, but I've sometimes thought about what license I'd choose if I did; I haven't been able to decide.)


Because I also value developer freedom. In fact, as a developer, I might value it even higher than user freedom. I've had the irritating experience of finding a good library that's GPL'ed and that I therefore cannot use. Copyleft is great for users and awful for developers. As much as some people hate to hear it, there are industries in which it is not viable to release the source to one's product and remain competitive.


Sure there is. It's free if your income is less than $1000000 per year. It's $1000 per year otherwise. This is no joke, I know a company that does that.


I know very little about the npm ecosystem or how popular/ubiquitous the author's library is, but its weekly downloads on NPM seem very high? https://www.npmjs.com/package/safe-buffer

safe-buffer is currently at 45M weekly downloads with 1.3K dependents. By comparison, the 4 most depended on libaries have a much lower ratio of downloads to dependents:

https://www.npmjs.com/browse/depended

1. lodash: 38M downloadsand 128K ependents

2. React: 9M / 64k

3. Chalk: 62M / 62K

4. Requests: 22M / 50K

5. commander: 50M / 48K

I'm assuming safe-buffer has its ratio because c̶o̶r̶e̶ highly popular libraries already depend on it (and those c̶o̶r̶e̶ libraries, not safe-buffer js, are what other libraries list as dependencies). Because Switch system updates wouldn't be downloading from npm, right?

edit: I was using "core" to refer to extremely popular/depended-on libraries – e.g. mysql/mongo/requests depending on safe-buffer – but that's obviously not the right usage in this context.


Clarification for those unfamiliar with NPM:

The weekly downloads on NPM do not indicate individual manual project installs. They include every download including automatically through `npm install` from package.json, and often further automation via CI tools (which is where the vast majority of download numbers come from on all npm packages). These amplify the numbers significantly.

i.e While they are a proxy for popularity, it can only be used relatively.


How does yarn affect that number? AIUI, yarn caches the packages on your machine so if you create multiple tract projects (for example), it only downloads react and its dependencies once.


You're right, lots of popular and official packages depends on this package. Not sure what you mean by "core libraries" though. This package is just a wrapper around the Nodejs Buffer module so people can use it in a safe manner due to API changes.

https://www.npmjs.com/browse/depended/safe-buffer


Thanks, I edited my sloppy use of "core". I meant extremely popular/fundamental external libraries.


I'm more surprised that it uses Node.js in the first place!


Probably in the store and/or the news feed.

I can’t think of a nice way to say this, but I wonder if this is part of the reason they both perform so poorly once you’ve loaded a lot of data into them. I get so frustrated trying to use the on-console store after only a few pages of scrolling.


Quite likely; iirc the Playstation's UI (and store) are also made with web technology, and its performance is just so bad.

For a product that is responsible for billions in revenue every year, I would expect them to have some of the best native developers working on it. Instead, they sorta wrangled web technology to sorta work. I don't understand why the performance is so bad on the PS4 of all things, given how it's a pretty decently specced machine.

They, and many other companies, should really look at the iPhone's early success - a BIG factor there was native code, meaning they could run on a single core machine for years while Android was struggling to push device specs up just to get their UI to feel performant.

And Apple's wasn't even optimal; they used objective-c which adds some overhead with every single function call (simplified: 'can I call this method on this object? Yes? Then call the method on the function call'. Only fixed with Whole Module Optimization in Swift iirc).

But it made such a huge advantage in terms of performance and battery life, Apple was easily five years ahead of any competition.


When minimum viable product becomes the actual product.

To be blunt it's probably more cost-effective for them to hack something like that together, then to take time to actually fix it. If you bought a ps4/5 you're effectively stuck with using that interface. I think they're moving to flutter now, but this is just how big companies work.

Not enough customers are going to not buy a PS4 because the web store is a little clunky.


> moving to flutter

Wow, I'm surprised to see it used in that large of a capacity that soon. I was under the impression that it was still a somewhat-glitchy prototype (especially in any non-mobile uses), but maybe it's time to give it another look. Thanks for mentioning this.


Using Flutter web right now for a side project.

It's already miles better than React.

Dart itself is absolutely a pleasure to work with. No Babel !

Source for Sony using Flutter

https://devclass.com/2020/10/29/sony-takes-a-flutter-on-embe...


Another justification for purchasing disks, I guess. A much more solid 'ownership' model for games, the loading speed's about the same (since most things are installed to SSD, instead of read from the disk), can purchase second-hand... yup. Disks for me, thanks.


I thought that too with my Switch: use cartridges when I can, but it got frustrating swapping them out when it was docked. So I started doing digital only purchases onto a 256 GB microSD card, and it’s so much better (IMO). I haven’t noticed a difference in load time either.

It doesn’t help that game updates go onto the SD card, not the cartridge. So updates to the whole game basically make your cartridge a DRM dongle.


Did you ever try to use the playstation platform (network? store? whatever they call it) in the browser?

It's absolutely atrocious; I don't think this has much to do with them using webtechnology, it's just an atrocious heap of spaghetti (and probably, guessing from the weird settings syncing and authentication, an architectural nightmare).

The ball of mud would roll faster if it were written in C++, for sure, but it would still be a ball of mud.


> They, and many other companies, should really look at the iPhone's early success - a BIG factor there was native code,

?????? Honestly I don't understand this argument - the iPhone didn't even support apps at launch, only the 2007 equivalent of today's PWAs, pinned websites.


Right, like is that the reason that Symbian succeeded?


The slowness of the store UIs on consoles is largely attributed to fact they are running their Javascript engines in interpreter mode, for security reasons.


Yes, the store is terribly slow. That's almost certainly at the UI layer, which may indeed be something like Electron, which would explain the slowness.

Node.js isn't slow, especially for this use case, but any sort of HTML-based layout definitely is.


Node - V8 - isn't slow when running on a device with a decent processor and fast RAM. The Switch is not such a device.

IME, it's not the presentation, is the loading of assets into memory. Once the assets (like thumbnails, descriptions) are loaded, the display is as fast as always, but you scroll beyond what's cached and it turns back into molasses.


"XYZ isn't slow if run on a fast enough processor" is an utterly useless statement.

My personal gripe with the eShop is the horrible startup time (compare to the time it takes the settings application to open - part of this can be assigned to it being a web application indeed), lack of partial/incremental presentation, and possibly lack of prefetching. Asset loading causing bad UX is always a frontend problem.


Any interpreted language is going to its performance/memory barriers long before a compiled language as the CPU and memory shrink. It's inevitable; the interpretation is an unavoidable overhead.

Sure, you can write slow code in any language, but the language will limit how fast your code can ever be.

This from a Python fanboi, FWIW. I'd never try and use Python on an embedded device where performance matters, not only for UI responsiveness, but for battery life.


V8 and SpiderMonkey use JIT compilation, not interpretation


V8 and SpiderMonkey extensively interpret, before functions are marked hot and traced, and every time they are deoptimized from failed guards.


That only influences start up time.


No, it affects warm-up, which is not the same. JS is only JIT'ed if the interpreter decides that it has been running code enough for it to make sense, and then not even permanently.

Some things will never JIT. Some things will JIT much later, leading to sudden CPU spikes later. And importantly, code will often deoptimize a few times, meaning that it drops back to interpreted to re-trace even if it had already optimized this code block.

And as most web "applications" are loaded only to be thrown away as you finished reading fixed text, all of those resources were burnt for nothing. This includes an application like the eShop, which has limited need for JS for anything other than lightweight asset handling.


It’s amazing to me that the store is as slow as it is too - surely improving this could have a great payback in terms of sales.


It’s extremely frustrating. I like looking at the new releases every few days, but if I wait too many days before checking, I have to go through screen after screen of scrolling and it freezes when it loads the new preview images.


I noticed this yesterday. I don't know why HTML would be to blame, as I've used web browsers on low power devices before and they can be very snappy.

One thing I noticed was that when attempting to switch between e.g. 'Offers', 'New' and 'Highlighted' or whatever the headings are, there's a large lag / hangup. It certainly doesn't feel like they're working on keeping it fluid and snappy. That might not be a priority, but I'm certainly put off browsing and buying when it's unpleasant to do so.

To be fair, it's worse on other consoles IME, and if I keep my browsing light, stay at the top of lists and don't get too impatient, it's okay.


I've never noticed HTML based layouts being slow unless someone explicitly designed a slow UI. The bigger problems are slow startup time and excessive RAM usage. Running multiple browser instances is not sustainable.


If it's true it's just terrible. The store is not that much of a complext software, yet they still decided to use these bloatware when they can just use their fine GPU and renderer natively.


It’s slowness reminds me of blocking on UI threads.


You think node.js specifically has anything to do with that being slow?


It's a remarkably low spec device, and anything that's not fairly well optimized is going to behave poorly (games show this constantly). Node.js (V8) was optimized for use on servers and general purpose computers with multiple gigs of RAM and absurd levels of processing power.

So, yes, I think that using Javascript on a low spec device is probably a source of slowness.


It likely is being used server side. I seriously doubt Node is being used on device


I hope so as well. Still honked off about the performance of the store though.


I'm in love with Node as a developer, but this is definetly not what it was created for.


Maybe not in the console itself, but instead on one of their websites/servers.

I don't think lawyers would understand or care about the distinction, hence the license text is there.


Heck it might've been just a part of development and not a part of the production/user-facing features. I know my former employer lists everything that was ever in our process "just in case".


hey man, “better safe than sorry, include the license” is a nice change of pace! I’ll take it.


I don't think they are, I think they are using jszip in some sort of client side context and bundling it up with browserify or webpack which is bringing in some dependencies that are based off of node (like readable-streams)


Considering that feross’s code in required by a ton of other open source libraries, I wouldn’t be surprised if it wasn’t included from somewhere else.

And isn’t this the same feross that spammed everyone’s npm begging for money?


Why are you characterising asking for money for (open source) work as begging?

That doesn't seem right.


Because his funding library was a legit ad. I'd all on board with open source projects taking in funding, but spamming a terminal with ads for linode is not okay at all. Begging may have been a bit harsh.


> And isn’t this the same feross that spammed everyone’s npm begging for money?

Source?



There seems to be a debate about whether it's okay for Nintendo to use this code without giving him a free Switch or something like that.

To me it looks like a confusion about whether "okay" means "legal" or "ethical" or "cool".

It's possible for something to be legal and ethical and still not courteous or gracious, and this falls into that category.


Hmmm....

Someone more passionate about open source usage could put up a brag site where products using open source and profiles of the authors of the open source are tracked. It would be of some benefit to the authors.


When I was a teenager there was a MegaTouch game at a bowling alley. I watched the thing boot up, the text on the screen looked familiar

  Setting hostname localhost              [    OK    ]
Lo and behold it was running Linux! I was intrigued to say the least. I also saw that in the about menus, there was information about the GPL and it also mentioned using the Allegro graphics library that I was familiar with, from DJGPP (hey, this was the 90's).


Was anyone else expecting this to be about emulators, given the whole debacle happening right now around The Big House?

Specifically, any of the several different times that Nintendo has been caught lifting open-source ones for their own products, despite their constant arguments that using them yourself, to play games that they (or various retail partners) sold to you, is somehow piracy.

(Obligatory #FreeMelee)

EDIT: on a second look, as I went digging for sources for this, I may be mixing up details between Sony (who did this exact thing with the PS1 Classic) and Nintendo (who shipped ROMs downloaded from pirate sites at least once in the last couple of years).

That being said, it doesn't change why this is so problematic in the first place. The double standards involved make it worse, but the only reason it's a problem to begin with is that instead of letting you meaningfully preserve content game and movie studios (here in the US at least), movie and game studios instead can opt to keep repeatedly dipping into our collective wallets for the same content, all because now it's wrapped in a new emulator and/or DRM scheme.

"Slippi requires illegal mods" is only an argument to begin with because, despite backups and format shifting generally being fair use, bypassing the requisite copy-protection to do these things violates the DMCA anyway, as does trafficking in anything that can even if your use is explicitly exempted (accessibility, for instance).

It's a ridiculous, visibly letter-of-the-law problem that we've had as long as the DMCA has existed (anyone remember RealDVD?), and ultimately it renders basic consumer protections as being subject to a publisher's veto.


Super happy for him. This is one of the best parts about programming, how easy it is to share and interop things. That is beautiful


https://github.com/feross/safe-buffer

Looks like one of those "utility" modules that get used in a project because there's no proper standard library for node.js

At least it's better than the infamous "left-pad" module, which was just a single function


> Looks like one of those "utility" modules that get used in a project because there's no proper standard library for node.js

No, not really. Buffer is already part of the standard library for nodejs. What this is, is a "safe" variant of the very same buffers, as the previous ones were found unsafe. Although if you're controlling the runtime, there is no need for safe-buffer package anymore, as Buffer from the standard library is now safe. See https://nodejs.org/en/docs/guides/buffer-constructor-depreca... for all information around nodejs "safe" buffers. Feross' library is mentioned there as well.


The Buffer security issues that Mathias Buus and I uncovered led to the deprecation of `new Buffer()` in Node.js and the creation of the `Buffer.from()` and `Buffer.alloc()` APIs. There is an explanation here: https://github.com/feross/safe-buffer#why-is-buffer-unsafe

I created `safe-buffer` as a demonstration of how the API could be fixed to be safe. Then, the ecosystem adopted `safe-buffer` as a polyfill to get that safety even before `Buffer.from()` and `Buffer.alloc()` were included in Node.js. And to this day it continues to be used to provide safety in older versions of Node.js which lack the newer APIs.


Whichever way you slice it, this is pretty cool.


Let's not get carried away here, it's 60-some lines of JavaScript to do some manual type checking, likely pulled in by a mess of package.json declarations. I'm kind of disappointed in Nintendo if they're running Node on the switch itself.


A bunch of open source Switch homebrew utilities (including a full kernel reimplementation) are available under a dual license: GPLv2 for everyone else and Zero-Clause BSD license for Nintendo. I'm waiting for these projects to get in :)


That's awesome!


I think the list of FL/OSS on almost any typical device is very long indeed.


TL;DR: Nintendo use a MIT licensed code.


The newsworthy thing here is the developer is happy his code is being used freely and not threatening to stop development unless he gets paid money by a corporation using his free and open source software.


Releasing under a permissive license, then being unhappy about someone using your work—that would be news. Normally this is the desired outcome, and happens all the time (curl is used by a dozen of automobile manufacturers in millions of cars, for example[0]).

What tends to be ignored is attribution, respect to Nintendo for having good internal processes in this regard. If there is any news here, it’s that.

[0] https://news.ycombinator.com/item?id=18406694


Obviously if you license your code without any strings attached, you can't exactly demand payment or anything. Rather this should be a cautionary tale that MIT/BSD in the hope of other people using your code is dumb and the industry really needs to double down on GPL if we are to ever expect megacorps to be good faith players in the community.


GPL has obviously utterly failed to solve this problem. "Doubling down" on it will only serve to further isolate any code which adopts it. There will always be people out there who will be happy to license their code freely, and those people will be the ones whose code gets used widely. Highly restrictive and viral licenses like GPL only serve to stifle the code which it encompasses and ensure it almost never gets used as people continue to excise its poison from their codebases.


The Linux kernel is fine. It's probably even better thanks to the GPL.

A big chunk of WebKit is LGPL and Blink too as a consequence. They might be successful thanks to that too.

Honestly, I don't find your obvious so obvious.


Except the author doesn't see it as a bad thing that Nintendo uses his code.


I would rather my code gets used and better the software ecosystem than I get paid for it. To that end, GPL is only behind proprietary in things that I wouldn't use.


I think there are loosely 2 groups of people who use liberal licenses: First, people who use it as a "sane default"; these people are sometimes unhappy when it gets used commercially. The second group is the people who explicitly and intentionally licensed it to allow the widest possible use; these folks are often if not always thrilled to see uptake even if there's no direct money involved.


"MIT/BSD in the hope of other people using your code is dumb"

But they did use the code. So MIT/BSD work?


The difference is whether you're developing for charity or for money. MIT license is charity.


Why do megacorps need charity? Additionally GPL doesn't have any financial interest, just a demand that contributions are upstreamed.


What's the news here? "Retail electronic product uses open source code"? Why is this news?


Nobody said it's news? Enough people found it interesting enough to upvote. Having your code used by a big company can be a nice recognition of your work. In this case the developer was happy about it unlike in other cases where code was used without permission. (Which I honestly expected when clicking the link!)


This website is primarily a news website. That's it's role. Sure, recognition is great on Twitter, but why did it have to leak here? What's the news here? "Developer was happy that open source code was being used"? Is this the story here?


> On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity.

https://news.ycombinator.com/newsguidelines.html

Some of the most popular submissions are regularly reposted old links so it doesn't have to be news.


[flagged]


Just made an account to say this: Please do not be condescending in the comments. Multiple users found it interesting, which was why it was upvoted in the first place. If you do not, simply move to the next submission :)


This doesn’t answer my question though.


The interest is that an open source developer had randomly discovered his library is used (and properly cited) in one of the most popular gaming systems today. And he's sharing his delight/surprise, which implies that this is not an everyday experience for many non-curl open source developers.


Open Source libraries get used all the time in popular gaming systems, what makes this one so interesting?


It's not the library itself that is necessarily interesting, but open source culture in general. The number of comments and debates in this thread and on the original tweet seems to indicate that whatever you think is obvious about open source attitudes and expectations, may not be so obvious after all.


Whatever you think is obvious to me, isn't. Have you considered that might be why I was asking the question in the first place?


Being mentioned by Nintendo is nice, but they should at least send him a Nintendo Switch as an appreciation. I think that's a decent thing to do, and everyone will appreciate Nintendo for their good will, instead of being just another corporation that takes open-source for granted.


>but they should at least send him a Nintendo Switch as an appreciation

It's a (most likely) transitive npm dependency of about 50 lines of code. Not saying it doesn't do something useful -- quite sure it does, with 45M weekly installs, but it would be pretty ridiculous to send Switches for every dependency..


So that's saved them 5 developer-days of work? They can afford to send a Switch. It would be a nice gesture.


But then does everyone get something? Will it be perceived as a slight if some other contributor doesn't receive something? There would undoubtedly be a response from some that a switch alone is inadequate.

I think nintendo is probably doing the most riskless thing but abiding by the terms.


But that would create a permanent premise when using open source code.

If the code contributions are huge (complete framework or big library) then maybe.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: