This is using my gameboy emulator, binjgb[0], on the website! (well one of my gameboy emulators, heh [1][2]) It's been used as the emulator for GB Studio for a little while now, but I don't know how often people embed it in their websites, so it's really cool to see.
heh, good point! Most of the older ones are using GameBoy-Online[0] instead, since that was the GB Studio default for a while. But I think everything since GBStudio 3 should be binjgb.
I personally don't think we should expect more from a "richer" user as soon as they're following the license of OSS (or expect anything different at all, regardless users' background or purpose).
Not only that but Macdonald's presumably paid for this game to be developed etc.
That developer is more directly profiting from the tools. If you want to make a moral argument, surely it's them that should be passing money down the chain.
If I buy something from Amazon, should it be on me to identify the open source projects they use and pay them? Further where does it stop? Someone presumably used Linux in all this, do I need to send Linus a cut? Which driver writers do I need to support? How many copies of busy box were used in all this?
Where do you put the bar of the legal vs morale argument? A few days ago, I discovered a government entity in Pakistan was using my AGPL software [1] to handle censoring of media through their "ministry of information and broadcasting". I did release my software under AGPL as I like the underlying ideology of free software with a large emphasis on the freedom and not the free of charge but would have never expect some regime would come to use it to handle censoring.
I personally think your particular scenario is the easier one: such "client" will ignore any license requirement or "moral pressure" anyway, as soon as they can acquire the software in some way. There shouldn't be moral burden on the devs. You do more good (way more) than harm. Otherwise I doubt Linus can sleep at night. I'd say this is no difference from, say, a knife manufacturer when it comes to the harm the knives do.
Commercial use is something devs are more torn because they feel they're being exploited while the client is not doing anything wrong inherently (doing business).
And in that case, you have to adjust your expectation to be exactly the same as the license you put in to resolve such cognitive dissonance.
Woah. This is really an incredible project. I'm currently running a seafile server for this purpose but it really isn't all that great and I keep debating going back to simple SFTP. Using your frontend would be a great addon.
Very nice work and congrats on taking this on successfully.
Morally, everyone in a value chain should get a cut, including the cleaning lady keeping your toilet stalls fresh and the midwife who helped deliver her.
Alas our cultural narrative frames achievements as products of genius individuals existing in a vacuum rather than celebrating them as accomplishments of humanity or at least the societies that enabled them to be brought about.
So yeah, legally it doesn't make any sense. Morally it's highly debatable.
The amount of money that McDonalds makes is completely irrelevant to how much the developer "deserves". Especially given that they released their product as open-source and explicitly sought no payment.
What you can do isn't necessarily the same as what you should do. McDonald's missed an opportunity to make this even cooler by compensating the developer. A couple thousand dollars in the right place can be more effective than millions in marketing. It just shows the company cares.
How about the hundreds of open source contributors to web browsers? What about the children of the people who clean the offices of the studio that made the game? I bet I could identify about a million people who deserve a bonus here.
Hell, we're long overdue for a universal basic income - such that everyone can pursue things for the sake of coolness or intellectual curiosity or whatever if they want to, without needing to worry about making ends meet.
One could argue that the relatively high compensation for programmers is the main reason so much cool opensource stuff could even get started. A universal income for everyone could, hypothetically, put everyone in a similar position of being able to afford to do "productive" hobbies, vs. working a third minimum wage job.
It's not a random bonus though. It makes sense in the context of the promotion.
In any case, that is far off the point of my comment, which is explicit in the very first sentence. You tried flipping my argument but destroyed the context in the process.
Maybe it's both OK to say things like this to promote the megabusiness...
>Just be sure to order some McDonald’s to support them. Who knows… if we keep eating McDonald’s, they might keep producing these oddball retro gaming related projects.
>I, for one, will NEVER stop eating McDonald’s. You have my word.
...and it's also OK to wonder if that megabusiness could've paid or otherwise credited the small guy. Not that it's obligated to.
Compensation was suggested just because of the size of the company and you said, a little passive aggressively I would add, that one should read the licensing terms before commenting, in which ocasion I pointed out that what one is able to do, legally, isn't necessarily what one should do, meaning morality and legality are two separate, sometimes intersecting paths but not always, as in this case.
I have the right to stand up in front of a music performer, invite friends to come over and listen to the great show, receive expensive gifts from my friends for their great evening and then give nothing to the street performer. Its my right !
I mean... yeah. In the meantime you haven't taken anything from that person; they are performing on a public street. On the contrary, similar to a packed restaurant, your presence might signal to others that there is something worth experiencing where you and your friends are crowded. This could in turn benefit the person you're crowded around by bringing more wallets within earshot. So you haven't actually given nothing, you've given your attention, and you've advertised for that person as if you were wearing a giant chicken suit spinning a sign and shouting, "Hey everyone, check out this person! Their music is good enough to attract a crowd!"
The fact that your friends in this scenario would weirdly shower you with expensive gifts after inviting them to watch a street musician perform doesn't negate the free advertising you've provided.
Yes, the performer would benefit from that attention. Maybe some of the people your presence brings around will tip them, etc.
The difference is that the existence of the performer is super obvious while in this case author and their work is hidden so author will not benefit in the same way.
Sure, that does differentiate the two scenarios. I was responding specifically to the first scenario.
I have an arguably bad habit of responding only to specific points that people make in their arguments, while ignoring the rest of their argument until they address the unresolved point. In this case, someone tried to make a point about standing around street performers. I had something to say about it.
I see, I took it as objection to the bigger point, because many probably do the same if you want to avoid misunderstanding you can keep doing what you're doing just with a clarification that you have no strong opinion on the issue
The author is also hidden from anyone who would be authorizing payment. The only person involved who might know the author is the guy making the game, and they likely used what leverage they had on their own contract.
based on what I know about other engineers it's almost certain that no one used any leverage whatsoever and the only reason they even checked the license is because legal forced them
Not everyone does everything with the expectation of seeing their bank account inflated in return. Sometimes people work on things just for the gist of it and I always appreciate seeing something driven solely by legitimate enthusism. :)
Funny how people ask this while also being critical on Nintendo. If creator of emulator is to be compensated, are you going to compensate Nintendo as well?
This was brought up for the last one of these I made, but the code here is c++ so wouldn't be allowed. I don't use a lot of c++ features, but it might be hard to keep the code size small without them.
JVM is a great choice! You might also want to check out WebAssembly too (full disclosure: I used to work on wasm). There aren't too many opcodes, and a lot of them are relatively simple math operations.
Given your experience at this level of abstraction, do you have any thoughts on what an ideal set of opcodes look like? E.g. something like Knuth's MMIX. Do you prefer RISC or CISC? What about RISC-V? How much do the designers of real-world micro-architectures talk to folks like you?
A bit of a tangent, I know, but it feels important.
I'm probably the wrong person to ask, to be honest. I was around for a lot of the design of Wasm, but wasn't really involved at that level.
That said, in my opinion the ideal set of opcodes really depends on your goal. There were many goals For Wasm, but I think there was a focus on keeping it small and simple. Originally it was AST-based, but it was changed to a stack machine to reduce size. It was also designed to be AoT or JIT compiled, so the opcode layout is not particularly friendly to hardware decoding or interpreters (although people have made some very high quality Wasm interpreters).
And of course there were a lot of discussions and disagreements about the best way forward: AST vs. register VM vs. stack machine. Structured control flow vs. goto. How to handle unreachable code. How to store integer literals (LEB vs. prefix byte). What the text format should look like (sexprs vs. ...?) etc.
However there were a lot of discussions that were not in those meetings and were in smaller groups or held in GitHub issues or PRs. Most of these were in https://github.com/webassembly/design.
You're right about wasm not being too complicated, I've learned this when watching David Beazley coding a WebAssembly interpreter in under an hour. And it doesn't require any knowledge about it beforehand.
[0] https://github.com/binji/binjgb [1] https://github.com/binji/pokegb [2] https://binji.github.io/raw-wasm/badgb/