Retron 5 source code discussion

Discussion in 'Game Development General Discussion' started by retro, Sep 7, 2014.

  1. libretro

    libretro Active Member

    Joined:
    Aug 17, 2012
    Messages:
    25
    Likes Received:
    0
    No 'assuming' is necessary.

    1. Remove the SNES9x core. This will only leave them with a possible fallback on bsnes, which their hardware is way too pathetically weak to run anyway, so good luck with that.

    They could skirt around this by making it [SNES9x] available through a downloader service that lets you download additional cores, but the user should be warned that he is waiving his rights legally provided to him by the GPL in that case. And even then, it would still not be legal because this core is exactly as stated - 'non-commercially licensed'. So they are just not going to have their cake and eat it.

    2. Remove the Genesis Plus GX core. This will leave them with exactly nothing on that front, since Picodrive is non-commercially licensed too.

    They could skirt around this by making it available through a downloader service that lets you download additional cores, but the user should be warned that he is waiving his rights legally provided to him by the GPL in that case. And even then, it would still not be legal because this core is exactly as stated - 'non-commercially licensed'. So they are just not going to have their cake and eat it.

    3. Be honest about what these cores are and what the software is. Don't rebrand stuff that is not yours. Don't pretend that some 'team' put 'hard work in' when they didn't

    4. Complete de-TIVO-ization.

    http://en.wikipedia.org/wiki/Tivoization

    This is what GPLv3 demands. It has already been identified that what assembly code there is in RetroArch, was found in their frontend. Since all the cores they've used up until now are libretro cores, it leaves little to the imagination what this could possibly be.

    5. Prevent any and all GPL license violations. And there's plenty of license violations on here, from conflicting licenses to ARM Mali binary blob drivers which require the user to agree to an EULA by ARM and which have all sorts of restrictions imposed on them which legally prevents a Hyperkin from just bundling it on a device like this. Not to even mention the other things that showed up like a Microsoft Verdana font and some other crap like that for shits and giggles.

    6. Start showing good faith. Start giving credit to the people who put the hard work in that made this Tuppleware product possible in the first place. Start sending patches back.

    They could have started out by contacting us beforehand of their intentions before they went ahead and did this.

    Newsflash: plenty of commercial companies (ones with far better standing BTW than this company, BTW ) have done this in the past. Including a little company known for its top-of-the-range videocards that I'm sure most of you all have in your PC. And not just prior acknowledgement, but actual helping out - both in code and hardware. I guess the problem there is that this little known Fortune 500 company actually has something of worth to offer in their code patches compared to this outfit.

    But I guess after they have done all that, there is not any more of a profit incentive for them to make this worth their while. Too bad then. Sucks for them - they should write their own software and then they can do with it as they please.

    Also - if we want to be really pedantic about this - GPLv2 cores like VBA-M and FCEUmm would not be necessarily compatible with GPLv3 either (we've already established RetroArch code being found in their frontend, which is GPLv3-licensed - so already there is a problem here). Regarding the GPLv2 and GPLv3 license conflict issue - that might be splitting hairs and I don't like much this 'witchhunt' people instigate when it comes to 'GPLv2 but not later' - at that point it starts getting all a bit ridiculous. But still, if we have to take the FLOSS fundamentalists at their word, this is what they mean. So yeah, that could be another battering ram.
     
    Last edited: Sep 19, 2014
  2. Teancum

    Teancum Intrepid Member

    Joined:
    Aug 2, 2010
    Messages:
    663
    Likes Received:
    5
    1 and 2. Not sure how they would still be in violation if they provided a downloader that grabbed this from another location. (one they aren't hosting) they could come into compliance this way. Now it would be really deceiving to sell a product that claims to play snes and genesis games when in reality it doesn't because the code isn't included.

    3 Agreed

    4 Although I'm still not exactly sure what tivoization entails. I'm assuming this applies to things like lockout chips and checking for specialized hardware before running.

    5 Not sure on this as I can't speak to all those moving parts.

    6 This is an entirely voluntary aspect that definitely shows that you appreciate the community. AMD is a good example of this. Heck Intel is great at giving software away with varying different levels of software freedom.

    Basically Hyperkin took a lot of shortcuts and got caught red-handed. I think the biggest unfixable violations are the snes9x and genesis plus gx cores. The rest of it could be fixed by unlocking the hardware (de-tivoization) and at least making the code available upon request and putting some sort of reference to the GPL in the manual.

    To be a good member of the community they would participate with the developers contribute patches directly that would help make the project overall better. That is the 'spirit' at least that the GPL tries to foster (rather forcefully).
     
  3. libretro

    libretro Active Member

    Joined:
    Aug 17, 2012
    Messages:
    25
    Likes Received:
    0
    GPL zealots detest non-commercial cores. Nothing raises their ire more than to see non-commercial cores being used in conjunction with GPL-licensed software.

    I can speak from personal experience because I've already had plenty of confrontations in the past with people who argued that RetroArch should not even allow dynamically linking to software like this. The fact that it goes through the libretro API which is MIT-licensed kind of takes that weapon out of their toolbox though. And dynamically linking it is a user operation given the way RetroArch is just a frontend for the libretro API and has no actual knowledge of the underlying emulators at all.

    I don't think non-commercial licenses are a bad thing, and I don't think it's a bad thing if non-commercial cores are available in the libretro ecosystem. If anything, it gives us a weapon to fight against abuses like this, especially when they then make the double mistake of mixing it in with GPL-copyrighted software, which gets both camps (the FSF crowd and the non-commercial licensed software authors) angry. The strategy of having a libretro ecosystem that has cores of various licenses seems to be a good way of at least making sure that whoever is trying to gain from this has to think long and hard about what he is actually shipping on said device that intends to monetize the software. Just being lazy and copying cores over without checking out if they're all compatible and if it's even allowed to resell them is a good way of falling on your own sword.
     
    Last edited: Sep 19, 2014
  4. Teancum

    Teancum Intrepid Member

    Joined:
    Aug 2, 2010
    Messages:
    663
    Likes Received:
    5
    Still not sure if I understand on the non-commercial cores aspect. I'm not a programmer and I know how they are linked can make a difference (at least for GPL compatibility.) I imagine it would be a license by license thing if it is compatible or not.

    I don't think non-commercial license are bad but don't see my self ever supporting one (not a programmer like I said but have put a lot of thought into it). I think mainly a license should do what you set out to accomplish. You want a license that allows you to release code but don't have to worry about a company taking it. Use a Non-commercial license. You want maximum compatibility and want to mix and match code and want to get contributions back? GPL. You just want to throw your software out there and not have any liability BSD and MIT. Personally BSD and MIT interest me the most, and GPL zealots bug me a bit (It's not FREE software because you didn't pick a license I like or a license my license can absorb). BUT I think that whatever license is chosen should be respected down the the letter.
     
  5. chromableed

    chromableed Rising Member

    Joined:
    Aug 30, 2014
    Messages:
    58
    Likes Received:
    1
    @libretro

    So did you guys find any evidence on the home app deriving from retroArch? I imagine the smali/java may be easier to prove than the native code from the cores(though I haven't looked at the retroarch code really)
     
  6. hunterk

    hunterk Newly Registered

    Joined:
    Sep 19, 2014
    Messages:
    2
    Likes Received:
    0
    @chromableed
    Yeah, there's some inline assembly (a sinc resampler, at least, IIRC) that doesn't get obfuscated and it's line-for-line the same.

    The GPL violations are pretty clearcut and also pretty easy for Hyperkin to correct and get into proper compliance with, as libretro mentioned a few posts back. The noncommercial license violations are a little more interesting, as they have not be tested in court and don't have the FSF offering legal coverage. I've always heard license sticklers describe such licenses as "unenforceable" because of the ambiguity around "commercial" activity (e.g., is it commercial if I have an ad on my webpage where I distribute it otherwise gratis? I think this situation is similar since it is downloaded free after the purchase). Of course, IANAL and all that.

    It's possible that Hyperkin wasn't aware that they were purchasing fraudulent licenses for software stolen by unscrupulous programmers (this is very, very common in outsourcing). If that's the case, though, their use of a separate, after-the-fact download seems potentially suspicious, since that seems designed to skirt the noncomm requirements (see above). This wouldn't shield them from responsibility/liability, anyway, and they would still need to come back into compliance by releasing source, etc.

    It is true that they aren't required to submit patches back directly to libretro, but they are required to make source code available to anyone who receives a binary, and those people are then welcome to provide that source code to libretro as they see fit.

    People who are worried about "muh firmware updates!" being in jeopardy: it's unlikely that Hyperkin would pull the product entirely rather than move into compliance. Compliance with the GPL will cost them nothing and will almost certainly add a lot of value to their product (see: OpenWRT; I will probably buy a retron5 if it reaches that point just to have a cheap 5-way dumper). Again, the noncomm compliance is more difficult, but that will require some legal threats/posturing from the actual license-holders (i.e., Eke, OV2 and BearOso) in those cases to actually force their hand, either into fighting it in court or just dropping those cores entirely.

    It's also worth remembering that none of this deals with *criminal* law, it's all *civil*, so things like "dirty hands" and reverse engineering/ToS violations are not really applicable. It's a simple case of infringement, proof and license compliance. (IANAL!)

    Disclosure: I'm affiliated with RetroArch/libretro.
     
  7. libretro

    libretro Active Member

    Joined:
    Aug 17, 2012
    Messages:
    25
    Likes Received:
    0
    You know the answer to that already so don't play coy now. If in doubt, reverse it yourself. You know where to look by now.

    If you can read C and ARM NEON assembly, then you can come to the same conclusion as others before you already did.
     
    Last edited: Sep 19, 2014
  8. chromableed

    chromableed Rising Member

    Joined:
    Aug 30, 2014
    Messages:
    58
    Likes Received:
    1
    hardly playing coy to ask if you have evidence for the home app since all I've seen so-far were comparisons of the cores. whatever tho.

    I guess I'm not sure how this is relevant for the home app unless you are implying the infringing content is in libretron.so?

    edit: for anyone curious about the NEON reference http://elinux.org/images/4/40/Elc2011_anderson_arm.pdf

    edit2: as an aside(not exactly source code) I think retron5 may also be violating the creative commons licence on the music used on their konami code credits screen(which is just lazy because if I remember right the CC license used only requires attribution)
     
    Last edited: Sep 19, 2014
  9. Teancum

    Teancum Intrepid Member

    Joined:
    Aug 2, 2010
    Messages:
    663
    Likes Received:
    5
    No need to be a jerk about it. He wouldn't have asked the question if he all ready knew the answer.
     
  10. derekb

    derekb Well Known Member

    Joined:
    Jan 7, 2009
    Messages:
    1,964
    Likes Received:
    44
    so anyway have any of yall reached out to hyperkin yet
     
  11. chromableed

    chromableed Rising Member

    Joined:
    Aug 30, 2014
    Messages:
    58
    Likes Received:
    1
    sent an email requesting gpl code today. I can imagine the laughter in their office as they read it...

    edit: someone posted on their facebook page https://www.facebook.com/HyperkinGames?fref=nf and tanooki(on digit press) seems to imply there will be an official announcement at some point soon

    edit2: hyperkin response (I guess they are confusing GPL with game gear?)

     
    Last edited: Sep 19, 2014
  12. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    LOL, what does the game gear have to do with GPL?
     
  13. Teancum

    Teancum Intrepid Member

    Joined:
    Aug 2, 2010
    Messages:
    663
    Likes Received:
    5
    LOL that is awesome. To be fair it just means the poor guy managing "Social Media" doesn't know what GPL is but I'm sure he'll figure it out soon.
     
  14. CrAzY

    CrAzY SNES4LIFE

    Joined:
    Nov 25, 2006
    Messages:
    1,737
    Likes Received:
    48
    The guy managing the Social Media side of things can't use Google? Makes sense to me.
     
  15. Teancum

    Teancum Intrepid Member

    Joined:
    Aug 2, 2010
    Messages:
    663
    Likes Received:
    5
    Pretty much GPL=GameGear means no google skills.
     
  16. Vosse

    Vosse Well Known Member

    Joined:
    Aug 22, 2009
    Messages:
    1,731
    Likes Received:
    28
    So, it's ok for hyperkin to steal? And NOT ok to prove that they stole it and ask that they set things right?

    Pretty skewed logic.
     
  17. CoolerKing

    CoolerKing Active Member

    Joined:
    Nov 26, 2013
    Messages:
    39
    Likes Received:
    3
    So is Hyperkin a Chinese company or an American company?

    If it's a Chinese company, then I don't think they'll give a shit about about all this, because intellectual property is pretty much non-existent in China.

    Also, why are the files still kept from the public now that libretro etc. have access to them? Don't tell me it's coz they're copyrighted lol :X

    And it would be nice to have a definitive answer about the frontend that they are using, instead of the "why ask if you already know"... Is it also copied from RetroArch?
     
    Last edited: Sep 20, 2014
  18. retro

    retro Resigned from mod duty 15 March 2018

    Joined:
    Mar 13, 2004
    Messages:
    10,354
    Likes Received:
    822
    amiga1200, you really need to learn how to have a civil conversation. Your rants against everyone here are not welcome - especially when you take threads off topic to make it about you, when you were never mentioned in it.

    There's a reason you keep getting banned - it's because you DON'T LISTEN.

    We have rules here - follow them, play nicely and you can stay. Keep doing this shit and you'll get yourself banned.
     
  19. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    Question for libretro:

    You said that even if the retron5 would come with no emualtor cores and that users would be required to download each ones himself, it wouldn't be legal anyway.

    This confuses me, as I though this would be completely ok given the modified sources are made public for each core if they're altered (IANAL). I have the openpandora in mind, on which you can download tons of emulators (including retroarch) and which is commercial hardware, but no one ever complained about it I tihnk.

    Maybe the Tivoisation would be the remaining issue for Hyperkin?

    Thank you!

    FG
     
    Last edited: Sep 20, 2014
  20. libretro

    libretro Active Member

    Joined:
    Aug 17, 2012
    Messages:
    25
    Likes Received:
    0
    Non-commercial means non-commercial, and a non-commercial proprietary license and GPL are fundamentally incompatible with each other. And since we found GPLv3-licensed code (from RetroArch) inside their frontend... (the inline ASM parts that their code obfuscation program probably couldn't deal with, if it weren't for their code obfuscation and their symbol stripping I'd have little doubt we would have identified their entire frontend as just a RetroArch clone at this point. We've already identified that every 'core' they took so far has been a libretro core, and a 'libretro core' is an emulator implemented through the libretro API. It needs a libretro API frontend implementation in order to actually run it. And since there's RetroArch code inside their frontend, and RetroArch is the official reference frontend for the libretro API, AND RetroArch on Android gets shipped as a library, and so does the 'Retron' frontend get shipped as a library.... .

    Funnily enough, their latest 'beta firmware update' contains additional features to the Game Boy core (like Super Game Boy-esque colorization) that have been recently added to our Gambatte libretro port.

    There's no way to make the current product legal. It's one license conflict after another, and TIVO-ization should be their biggest concern since this is what could actually make this a case worth pursuing for the Free Software Foundation. It's not OK to build a system out of copyleft software and lock it down in a way that the user can't modify the software and/or run the programs it is derived from in their original state. This is a clear-as-day violation of GPL version 3. This would be the biggest issue that the free software crowd would have with it right now. That and incompatible licenses.

    This is also why Retron5 shouldn't require a 'hack' or a 'jailbreak' in order to get around Hyperkin's built-in restrictions on the software (that they apparently did not write themselves as has been discovered). Anti-TIVOization laws is why. It should be shipped out of the box in a state so that the user does not have to void his warranty in order to install their own flavor of Android on it, or run an alternative frontend on it.

    Also, encryption for the purposes of obfuscation and concealment of infringement didn't help out any company guilty of violating the GPL in the past. See this for reference:

    http://en.wikipedia.org/wiki/Gpl-violations.org

    The reason BTW why flash carts don't run on this thing is because

    1) it dumps the ROM first to storage
    2) It then uses No-Intro ROM hash databases to compare the ROM that has just been dumped to the entries in this database (composed of all games that have ever been dumped by pirate groups and/or ROM dumpers), so that they can get this ROM to actually run on the emulators (since these emulators only accept ROMs as input). Those No-intro ROM databases are also on their device BTW. Gee, it's all soooo 'legal' now ain't it....
     
    Last edited: Sep 20, 2014
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page