Maybe not the best example then, but not the only example. If you unintentionally create something that resembles the original too much you may still become liable. It’s hard to draw the line, which is why many in such a position would prefer to be safe rather than sorry.
arendjr
It’s a gray area, legally. What you say is theoretically correct, but there’s practical issues once you’ve looked at the code that will open you up to legal liability anyway.
For instance, what if you need a utility function during your reimplementation for which there is really only one obvious implementation? You can no longer claim to have come up with it by yourself.
I doubt the FSF would sue over it, but companies are known to avoid the risk.
I’m not arguing against that. Merely providing some counterweight to the idea that the author was “flinging shit in the trenches” 😅
I found the title of that section slightly triggering too, but the argument they lay down actually makes sense. Consistency helps you to achieve correctness in large codebases, because it means you don’t have to reinvent what is correct over and over in separate pockets of the codebase. Such pockets also make incremental improvements to the codebase harder and harder, so they do come back to bite you.
Your example of vendors doesn’t relate to that, because you don’t control your vendor’s code. But you do control your organisation’s.
Another data structure that you can consider is the red green tree: https://willspeak.me/2021/11/24/red-green-syntax-trees-an-overview.html
We use it in Biome too, and it’s great for building trees that are immutable and yet still need frequent updates, as well as traversal in all directions. Its implementation contains quite a bit of unsafe
to make it fast, though as a consumer you’re not really exposed to that.
There is a serious attempt for that actually: https://www.assemblyscript.org/
It doesn’t offer full compatibility with the regular TypeScript though, despite being very similar.
Ah, but that’s no reason to give into defeatism. Words and wisdom can survive our lifetimes, so it’s never too early to practice them.
Preach.
You’re right a coup or revolution is probably the only way out for the US at this point. But when that day comes, reestablishing democracy with the rules of today would be a bad idea, since the capitalists know how to game the system. So if we acknowledge that democracy is broken, and authoritarianism isn’t the way, we need a new system. Hopefully this post helped to give some ideas what a new system could look like.
Yeah, I think we’re pretty much aligned on that.
I also wish I could do more in those regards, but I’m neither an American nor a politician. The latter I could change, but even if I were successful, then by the time I could affect some change it would probably be too late.
Still refusing to sit idly by, I decided to have a thought on how this could be prevented. A system with similar values as democracy, but better resilience against corruption could theoretically prevent a lot of harm. I don’t when or if anyone would be willing and able to do something with these ideas, but I figured it was the best I could do for now.
But he did step in, albeit privately. I actually agree an earlier public statement would have helped, but we don’t know the specifics of what went on behind the scenes.
In any case, I don’t think it’s fair to assign blame for Marcan’s burnout to Linus, as the post above did. Marcan himself mentioned personal reasons too when he announced his departure. I think we should show understanding and patience with both sides, and assigning blame isn’t helping with that.
Because coming up with the same implementation independently is legal, while copying someone else’s implementation isn’t. Which method you used to arrive at your implementation can be difficult to prove either way, which is why it’s important for implementors to be able to say they never looked at the original. It’s a legal defence, in case you ever need to stand in front of a judge or jury who will question how you arrived at yours.