Live data from Hacker News

Opensource your abandonware (2010)

pulkomandy.tk

51–60 of 61 posts

Re: Opensource your abandonware (2010)

#51

Here is the problem though: let's assume that the developer really wants to release the source code , but the problem is that they have used a third-party library where they cannot legally release because they simply don't have the rights to it. This complicates open-sourcing that software (this is already proven from time-to-time, for example the OpenJDK Java runtime needs to and has changed third-party components l…

> but the problem is that they have used a third-party library where they cannot legally release because they simply don't have the rights to it. Just release everything else. Someone can write their own library for that or maybe even find a replacement in the open-source world.

There are a surprising number of cases where it is extremely unlikely that a library is replaceable even if the use case is popular and there is no restriction on making an open source replacement. The overhead cost of open sourcing software can be high, which must be offset by a realistic expectation that value will be created by open sourcing it. There are two common cases not considered here of which I've seen several examples of libraries in my world.

First, replacing the library requires extremely high/rare expertise and several man-years of development to implement a basic version. These never get replaced in open source because the level of individual investment is extraordinary; these libraries only get built when a company invests a few million dollars hiring one of the handful of people that know how to write one over years, which is rare and at which point they want to own it. The barrier to open source MVP is simply too high. Even worse, in some cases the licensed version becomes unavailable/unsupported because the person that designed it moves on but at least there is an incentive to spend a lot of money to remedy that.

Second, replacing the library requires computer science that has no description in literature. I've seen teams of CS PhDs spend years trying to clean room equivalent libraries with little success when there are few hints in existing computer science literature how the original library capability was even achieved. They might be able to buy a license to the original library but many times that is cost prohibitive (millions of dollars) or not available at all (licensing restrictions).

Not every application has a library dependency with these properties but it isn't that rare either. These libraries are used for good reason and sometimes provide central functionality without which the rest of the source code is relatively low value.

Re: Opensource your abandonware (2010)

#52
post #45

Here is the problem though: let's assume that the developer really wants to release the source code , but the problem is that they have used a third-party library where they cannot legally release because they simply don't have the rights to it. This complicates open-sourcing that software (this is already proven from time-to-time, for example the OpenJDK Java runtime needs to and has changed third-party components l…

> but the problem is that they have used a third-party library where they cannot legally release https://github.com/id-Software/DOOM The DOOM source code was released without sound support due to this: > The bad news: this code only compiles and runs on linux. We couldn't release the dos code because of a copyrighted sound library we used (wow, was that a mistake -- I write my own sound code now), and I honestly don'…

I actually used Doom as an example of software that has received a great (it might be even the greatest) community help. However, this comment (https://news.ycombinator.com/item?id=25622021) has succintly described further the issues of open-sourcing a previously closed-sourced software. One of the most important point here is the fact that some software code are not organized could have a surprise third-party code which required intensive audits. Obivously, in some cases it is simply not economical to do such auditing.

Re: Opensource your abandonware (2010)

#53
post #21

Earlier quoted context omitted.

Unless it's something wildly popular, to a first approximation, no one is going to go to the effort to get a discontinued game or other software into a usable state given missing libraries, build systems, developer docs, etc. And, as parent noted, it's still quite a bit of work to open source proprietary code even if a company has a genuine interest in doing so. I have first-hand knowledge of situations where a compa…

In the second paragraph of the article the author describes how some dependencies of the application were replaced by open-source libraries like SDL. There are also many more examples of this happening. So the assertion that "nobody" would do it is wrong. If the application is interesting, people will find find a way to run it on modern hardware. It's not an excuse not to open-source what you can of your code. This l…

I wrote no one "to a first approximation" which I stand by for most (but not all) software. I actually think it would be nice if more abandonware would be released but "it's too much effort" and "it exposes me to unknown risks, especially if I don't take the effort to do due diligence" are not silly excuses.

I did eventually open source some code from a popular shareware utility years ago after people asked me to. (No one ever did anything with it of course.) It took me a while because I did use some third party code but eventually decided the company that wrote the code was long gone and no one would care. But a business with lawyers would not have allowed that. And even documenting what would be needed to replace the routines would have taken a fair bit of work.

Re: Opensource your abandonware (2010)

#54
post #33
post #32

Earlier quoted context omitted.

Even if that is the case, there's a difference between an api being copyright protected, and an api being redistributable

In what way exactly? Copyright law is the only method a person has to control how it redistributed, if there is no copyright on the API then no one has the legal authority to prevent redistribution.

Contract law. I'm not aware of it having been tested, but a contractual obligation not to distribute something is not the same as something not being copyrighted. See the post on HN yesterday about atlassian not allowing performance comparisons as part of their TOS.

Re: Opensource your abandonware (2010)

#55
Would be someone interested in an UML editor that looks like VS Code?

Here is the Angular+Electron version with the Visio logo: https://imgur.com/a/UDkitDm

The newer version is written in React+Electron using the official Microsoft Fluent UI framework and has an original logo.

The core drawing framework/lib is a TypeScript version of draw.io/mxgraph.

I didn't work on it since the W2020/2021 YCombinator rejection tho.

Re: Opensource your abandonware (2010)

#56

Earlier quoted context omitted.

> bad quality of your code from N years ago > Do a top-notch job on all my code If you're like most above-average programmers, you constantly evolve. Your code from N years ago should look worse than the code you write today, otherwise you're not really improving are you? So you completely missed the initial point made by FartyMcFarter, that old code looks worse than what you write today and people might judge you fo…

> So you completely missed the initial point made by FartyMcFarter >> Geeks love to cut up other geeks. I'll just leave that out there, then...

Not sure what you're talking about. The person you replied to has the username FartyMcFarter, not sure who's doing the "cutting" here. It's also not even relevant to the general point in this sub-thread...

Re: Opensource your abandonware (2010)

#57

Earlier quoted context omitted.

In the second paragraph of the article the author describes how some dependencies of the application were replaced by open-source libraries like SDL. There are also many more examples of this happening. So the assertion that "nobody" would do it is wrong. If the application is interesting, people will find find a way to run it on modern hardware. It's not an excuse not to open-source what you can of your code. This l…

Getting rid of third party's code often isn't as easy as removing a folder and be done. Sometimes third party code is deeply integrated and was patched and can't be isolated or it might be the core component/core engine where the missing make aThe reminder almost useless. Also some vendors put their APIs behind an NDA, thus you not only have to remove the API, but also rework the calling code. (Just for open sourcing…

It seems unwise to let control of your product degrade to the point where you cannot draw a line between code you own yourself and encumbered/external code. It should be possible to avoid with proper planning. Still, you're probably right that it is a common situation.

Your other examples mostly seem to boil down to "we were not willing to commit the necessary resources to do it". Which is fine, of course.

Re: Opensource your abandonware (2010)

#58

Earlier quoted context omitted.

This is why many open source licenses come with explicit warranty disclaimers.

That doesn't protect you against violating someone else's license. If you never make it opensource, nobody has to know.

Good point, although what would cause a situation like this? Releasing source code with a modified version of a GPL-licensed library, but with an incompatible license? Wouldn't that be a problem when you're distributing software anyway, regardless of whether it's open-source or not?

Re: Opensource your abandonware (2010)

#60

Earlier quoted context omitted.

Getting rid of third party's code often isn't as easy as removing a folder and be done. Sometimes third party code is deeply integrated and was patched and can't be isolated or it might be the core component/core engine where the missing make aThe reminder almost useless. Also some vendors put their APIs behind an NDA, thus you not only have to remove the API, but also rework the calling code. (Just for open sourcing…

It seems unwise to let control of your product degrade to the point where you cannot draw a line between code you own yourself and encumbered/external code. It should be possible to avoid with proper planning. Still, you're probably right that it is a common situation. Your other examples mostly seem to boil down to "we were not willing to commit the necessary resources to do it". Which is fine, of course.

> Your other examples mostly seem to boil down to "we were not willing to commit the necessary resources to do it".

Yes, of course. If I invest resources from the beginning for "I want to relicense and open all the code" then there is no problem. However for most companies the priority is "get this out before our competitor releases their product" and many things fall under and often neither developers nor managers have the legal knowledge (and don't care)

And btw. I fully support this on a different level: For instance for devices like (home) routers I support a scheme where a company is required to publish the software once they cancel support, so one doesn't have to throw away fine working devices only since the vendor stops fixing security issues. But that won't happen quickly, as it goes through the supply chain: You need the device drivers for the chipsets etc.

Post reply on HN