this post was submitted on 04 Jul 2024
390 points (100.0% liked)

Open Source

822 readers
3 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

You might recall a few weeks ago that I requested from a well-known large and somewhat litigious company the source code of the modification they made to a certain GPL debugger, and that they grudgingly agreed after a long time.

So I set out to work on the pile of code they sent me and managed to extract their modifications and port them fo the latest version of that GPL tool... apart from one driver for their debug probes that we use throughout our company: the cunning bastards left a stub in the open-source debugger (I have the code for that) and that stubs talks to the rest of the driver in the form of a closed-source TCP server.

It's a blatant trick to go around the GPL by taking advantage of the grey area surrounding linking in the GPL - i.e. the question of whether a closed-source program can be linked to GPL code and not become GPL itself, which still hasn't been tested in court to my knowledge. If I recall correctly, the FSF is of the opinion that anything that dynamically links to GPL code becomes GPL too, but that's just an opinion.

And of course, here in this case, the aforementioned company added one degree of separation between their closed-source driver and the GPL tool that uses it by making it a server, so whatever argument against linking to GPL code becomes even weaker.

Anyway, as you can imagine, I'm disappointed: my work is 90% there, but I still don't have that one driver and their closed-source faux-server is half-broken and dog-slow because of the time it takes to spawn the server and communicate with it through TCP, and I can't fix it. And I'm 100% certain that if I asked them to send me the source code for that, they'd tell me to suck eggs.

But here's what happened: I got so tired of their shenanigans that I started investigating other debug probes I could use instead of their proprietary junk. And after quite a lot of investigation, I found one solution based on open hardware and open software that, with some careful configuration, works 2x to 3x faster than their proprietary debug probe. Wow! I didn't even know it was possible, and I probably wouldn't have researched it if I had had all I needed to make what we already own works.

Long story short: I proposed that my company replace all our existing proprietary debug probes with the open hardware one and my boss agreed. That's like 20 probes in total, between R&D, testing and production, and at the tune $266.99 per probe for the original proprietary one, that's $5339.80 the egregious GPL-violating company won't get from us. Not to mention renewal of the license for their IDE that we've been using for almost 2 decades, because finally, at long last, after over a month of solid work, I finally managed to free up our source code from their vendor lock-in and make it compile, debug and flash using open-source tools from start to finish!

So yeah, I didn't get what I originally wanted from that company. That's the bad news. But in the end I ended up better off without it, and that's the good news ๐Ÿ™‚

top 32 comments
sorted by: hot top controversial new old
[โ€“] Albbi@lemmy.ca 57 points 4 months ago

I love these kinds of stories. Thanks for writing the follow up!

[โ€“] SkavarSharraddas@gehirneimer.de 43 points 4 months ago (2 children)

So what's the open source alternative you found? Sounds like it needs more advertising.

[โ€“] ExtremeDullard@lemmy.sdf.org 20 points 4 months ago* (last edited 4 months ago)

I can't really say because it would make it obvious which debugging tool I'm talking about and that would out me. And then the company could put 2 and 2 together and find out who my employer is and... you know, our orders might become slow or mishandled, that sort of things. My company's entire business depends on that one supplier, so it wouldn't be good.

[โ€“] orcrist@lemm.ee 16 points 4 months ago

Sometimes people in OP's situation don't say too much information because they don't want to jeopardize their professional relationship with the other party.

[โ€“] jjlinux@lemmy.ml 31 points 4 months ago

You are a superhero, one of the likes we rarely see.

God bless you, your work has returned some hope on humanity for many of us.

[โ€“] evranch@lemmy.ca 23 points 4 months ago (1 children)

Great to hear this story of success. That plus

$266.99 per probe for the original proprietary one

Reminds me of Schneider's stupid proprietary dongle for programming their PLCs. It's just a CH341 in a funny shaped case that fits into the funny shaped slot on the PLC, where it plugs onto an ordinary 0.1" pin header to talk logic level serial.

Plus it has a custom USB ID of course. Probably costs $2 to manufacture, sells for almost $300 as well.

[โ€“] ExtremeDullard@lemmy.sdf.org 9 points 4 months ago

This one is kind of the same thing: it's a bone-stock FTDI 4232H probe with a bit of logic tacked on to disable the chip without a custom init command and a custom USB PID/VID. All I need their driver for is to enable the chip. After that, I can just use the open-source FTDI driver. But the driver makes everything super-slow, so the point is kind of moot anyway.

Probably another attempt to go around the GPL actually, because they use the FTDI driver to talk to the chip (because the open-source libusb is very slow in Windows) and that too can't be linked to the GPL debugging tool. So the probe masquerades as a custom device.

[โ€“] Penguincoder 22 points 4 months ago (1 children)

More software and competitors are born from spite, versus anything else I'd bet.

[โ€“] refurbishedrefurbisher@lemmy.sdf.org 14 points 4 months ago (2 children)

GNU was founded because Richard Stallman was frusterated with a printer's proprietary software.

[โ€“] Penguincoder 5 points 4 months ago

Rightfully so.

[โ€“] Tja@programming.dev 2 points 4 months ago (1 children)

Thankfully all printers are frustration free now.

[โ€“] psud@aussie.zone 2 points 4 months ago

As much as that extracted a snort from me, it's almost true, at least in the sphere of printers that talk one of the few major print languages

[โ€“] steal_your_face@lemmy.ml 18 points 4 months ago (4 children)

It only cost 20k worth of work to save 5k of fees

[โ€“] lemmyvore@feddit.nl 23 points 4 months ago* (last edited 4 months ago)

Spending 20k to unchain yourself from a clearly ill-meaning vendor can be seen as a good investment in itself. 5k saved in (recurring) fees is a bonus.

[โ€“] BearOfaTime@lemm.ee 17 points 4 months ago

Lol.

May be those fees are annual licensing fees. And who knows what else is tied to that (support contracts, etc)?

I once enabled my company to forgo a license renewal of $10k...after 3 months of heavy work. Not really a big savings. But it also then eliminated an annual $1 mil in servicing fees that they would've had to pay for 10 years, by contract (so saved $10 mil). That we didn't know when I started.

[โ€“] ExtremeDullard@lemmy.sdf.org 13 points 4 months ago

You assume I'm paid 20k per month when I'm paid a lot more than that ๐Ÿ™‚

Anyway, not to worry, we'll recoup that money next year when we won't have to renew our license for the 10-so development machines.

[โ€“] qjkxbmwvz@startrek.website 9 points 4 months ago

Yeah, but this is (according to OP) faster, which saves money. And, because it's open, if there are features that could add serious value, they could be added in-house.

But yeah, perhaps a bit of a pyrrhic victory.

[โ€“] chebra@mstdn.io 14 points 4 months ago (1 children)

@ExtremeDullard Can you share the name of the new open source tool you found? Spread the knowledge, make more people leave the proprietary litigious vendors.

And thanks for sharing your story.

[โ€“] ExtremeDullard@lemmy.sdf.org 5 points 4 months ago (1 children)

I can't sadly. It would make it obvious which company I'm talking about, and if ever read this thread, they could retaliate against us.

[โ€“] chebra@mstdn.io 0 points 4 months ago (1 children)

@ExtremeDullard Au contraire - if the information is public, you may say you just found it here.

[โ€“] ExtremeDullard@lemmy.sdf.org 8 points 4 months ago

Well possibly, but here's the thing: if I don't say anything, I don't have to worry about having to explain myself later.

This is just a software project, I really really like my job and I have other hills to die on frankly. So I just don't need the aggravation.

[โ€“] SorteKanin@feddit.dk 8 points 4 months ago (1 children)

Super cool. Would AGPL fix the issues with the loop holes they used?

[โ€“] ExtremeDullard@lemmy.sdf.org 2 points 4 months ago

The particular open-source license doesn't matter: they're doing all they can to not release their source code and that's what I need to fix their stuff.

[โ€“] xilliah 7 points 4 months ago
[โ€“] subignition@fedia.io 6 points 4 months ago

Absolute champ.

[โ€“] bitfucker@programming.dev 4 points 4 months ago (3 children)

I'm gonna take a guess, either it is BlackMagicProbe OR Bus Pirate. Both are amazing tools to have!

load more comments (3 replies)
[โ€“] fuzzy_feeling@programming.dev 3 points 4 months ago (1 children)

i understand, that you can't name and shame.
but at least show the open hardware guys some love.

[โ€“] ExtremeDullard@lemmy.sdf.org 1 points 4 months ago

They already know. I've posted all the good I think of their device, as well as the author of the open-source debugging app that runs on it (it's actually a generic device), on their official Reddit sub. But it's just a general comment, not tied to this account of my little GPL adventure.

[โ€“] corsicanguppy@lemmy.ca 2 points 4 months ago (1 children)

well-know

itself, that

close-source

to make [...] works

Did you need to proof-read that again?

[โ€“] ExtremeDullard@lemmy.sdf.org 1 points 4 months ago

Fixed. Thanks for the proofreading ๐Ÿ™‚