Handmade Network»Forums
65 posts
OurMachinery disappeared
Edited by Shastic on

I just found out about this today. I am not in the Discord, so I don't know what was discussed there.

From my searches, people are falling into two camps, to avoid this happening again. They are saying code your own engine from scratch, or use open source. But if OurMachinery's engine was based around an idea that is patented, then neither of these approaches would stop this situation happening again.

I saw a tweet by Casey some time ago, where he said a certain company has ECS patented. So perhaps this company enforced its patent? If so, then even if you make your own engine from scratch, or use open source, the same could happen to you if you use ECS. So the lesson could be, make sure that the software you are using or building is not patented.

BTW I am not pro patent. Out of all the theories I have seen, I think that is the most likely.

Jason
236 posts
OurMachinery disappeared

After a quick search I saw that Unity had filed a patent on ECS according to this forum:

https://forum.unity.com/threads/ecs-patent.1167269/

According to some of the commenters the patent covers a specific implementation of ECS that Unity uses. I don't know much about patents but my god do these things seem like a terrible idea when it comes to software. I can't tell you how many times I've come to the same implementation conclusion when solving a problem as someone else (mostly for smaller problems but still). If this is indeed what happened to ourmachinery, and they were not in violation of any copyright, then this should be a warning signal to all developers. I hope they at least come out and explain what is happening at some point.

If nothing else I hope this at least gets people talking about the issue of software patents and if you ask me, we as software developers should band together in solidarity to fight these egregious laws.

Ben Visness
106 posts / 6 projects
HMN lead.
OurMachinery disappeared

There are many reason why Our Machinery could have been forced to shut down; certainly it seems like some kind of legal issue. However I would say that’s not the really interesting part - after all, much software could in theory run into legal issues. The crazy part is what Loris has been calling the “rug pull” - that they updated the EULA days before shutting down, are asking all users to delete their copies of the software, and seem to be at least somewhat within their rights to do so.

If you depend on a third party, there’s nothing that can prevent it going insolvent. But you can mitigate the damage. If you “diversify” your tech stack them you’re not fully dependent on one engine and have a better chance of replacing individual parts. If you have a typical open source license, then liability is waived and you are free to continue using that code for as long as you like. Certainly open source gives you the most options in this case, since there’s the possibility of continuing development instead of building a replacement.

186 posts / 1 project
OurMachinery disappeared

Formally, software can't be patented because it's math. However, anything you can write as software can be ported to VHDL and used to create a microchip which can then be patented. So patent laws have to consider a technologically neutral distinction between "methods" that have actual value by getting something done, and "formulas" that are just thought processes.

Unity probably described their game engine as a theoretical physical machine that a competitor could have built. Companies at this size are the only ones that can actually check if anyone else is using their patent, while most likely picking bits and pieces from open source projects whenever it saves them time and money.

With permissive non-revocable open source (zlib/unlicense), you don't even have to mention the library's presence in a binary distribution, and can keep using it even if the author tries to change the license into something else. I use permissive non-revocable open source for my software renderer, only have standard techniques in the library that your applications depend on, and put anything original as examples in the SDK folder. If there would be a part of my rendering library that was somehow targeted by a patent troll reinventing 1990's rendering techniques with a language twist, then my new build system will only compile and link parts of the library that were requested by the included header. Unlike letting the compiler optimize away an unused feature from a static library, you can't claim that a program uses a library with said feature, if the parts of it were never linked together into a static library nor entered the compiler to begin with when the program was compiled. With these principles, I can assure you that my library is juridically safe to use.

Jason
236 posts
OurMachinery disappeared
Edited by Jason on
Replying to bvisness (#26620)

Honestly, my original thought was that some company bought them out or something so they made the tech proprietary. Though I haven't looked at the EULA in detail to see if these rules were retroactive or how that all works. Meaning if I had an earlier version of the machinery does the new EULA rules apply to that version as well. Not sure

65 posts
OurMachinery disappeared
Edited by Shastic on
Replying to boagz57 (#26622)

"Honestly, my original thought was that some company bought them out or something so they made the tech proprietary. "

Companies and indies have sunk millions of dollars into this engine just by using it, so its very serious.

"Meaning if I had an earlier version of the machinery does the new EULA rules apply to that version as well. Not sure"

I saw a comment about the original EULA, where they said there is a clause in it that says, they can change the EULA any time they like, so check on that.

The clue for me that it was a patent issue, was in the comment where they said 'no longer possible for us to continue in the current direction.'

The problem with the ECS pattern is it takes over so much, so if you can't use ECS, its not a matter of swapping out a library and putting another one in.

If you make your own engine this will not happen to you again, unless you trigger a patent. There's other reasons companies can disappear like financial difficulties, or the owners have a mental breakdown. Open source has its downsides as well. Libraries abandoned, the design and code can be very poor, because people with different skill levels are contributing, and the original authors disappear.