Hacker Newsnew | past | comments | ask | show | jobs | submit | hackthefender's commentslogin

> Clearly we have both had miraculous enlightenment because legally this is “not obvious”.

To be precise, legally it is "not obvious back in 1996." There is a lot of stuff that is obvious today that wasn't 25 years ago. That said, this one in particular probably would have been invalidated as obvious if it was ever litigated (and it was not). Also, the USPTO has reined in software patents a lot in recent years (but always people advocating for more or less).


Seriously, I could have done this in 1996 and so could anyone. I reckon I could probably have worked this out in 1986. It’s not like binary arithmetic has changed significantly in the last 20 years.


And back in 1996, programmers were much more familiar with bit-twiddling than today.


It's not even computer science, it's literally just math. (a+b)/2 = a/2 + b/2. They were teaching that in pre-algebra in middle schools well before 1996.


> It goes to show how broken the USPTO is...

The patent issued in 1996 and wasn't revisited since then (because never asserted in litigation). The USPTO is a lot different now, a quarter-century later.


> The USPTO is a lot different now, a quarter-century later.

Please be more specific or link something that explains how they've improved.


Back then you couldn't early challenge a patent and prevent it from being issued, and once it was issued you couldn't challenge it without violating it and entering trial. Now you can do both.


Early challenging sounds helpful, but that's also outsourcing the work and it could put more coders at risk of treble damages further down the line from some patent they glanced at and forgot about.


Isn't there also a recourse process by which you can get a patent invalidated? You can't expect USPTO to hire an expert in every single possible field.


I think that's usually resolved in court. By which I mean, I don't think there's process beyond choosing to fight any suit brought against you and hoping you win in court.


> I don't think there's process beyond choosing to fight any suit brought against you and hoping you win in court.

Not true. See https://en.wikipedia.org/wiki/Reexamination It's even easier today than a decade ago, though the Wikipedia article doesn't explain that aspect very well. (I wouldn't be able to explain it, either. I think it has to do with reduced ability for a patent owner to drag out review, including dragging it into court.) Probably not nearly easy enough, though.


Why not?


I don't think that's the point the commenter was making. The analogous situation would be if someone posted that they made their kitchen table from scratch, and the commenter said that it's great but not everyone has a lathe in their basement, so good that places like Ikea exist as well.


You can, and everyone always does, litigate invalidity before ITC. (I am an IP litigator who has done it.) Note that the ITC cannot itself invalidate patents like district courts do, but they can--and often do--decline to issue an exclusion order because they believe the patent at issue is invalid.


See answer to the other poster.


For what it's worth, this isn't limited to invalidity. For example, ITC findings that a product infringes also are not binding on courts. The reason for all this is that the ITC is an administrative agency rather than an Article III tribunal.


> big tech firms got big and stay big, not because of network effects or political power, but because of their rare expertise; and that they cannot keep their advantage in expertise forever

I am pretty sure Facebook got and stays big primarily because of network effects. You could create a website with all the technical features of Facebook, and few would use it because their friends aren't on it.

In my view, it is the pendulum of antitrust law swinging back to stricter enforcement that will end big tech, if at all. The hope that everything will just magically get better now that your local coffee shop can deliver beans to you with off-the-shelf software seems slightly optimistic.

But I hope I'm wrong.


> In my view, it is the pendulum of antitrust law swinging back to stricter enforcement that will end big tech, if at all

They're incredibly useful to the state as large monolithic entities. It's much easier to spy on people and exert influence. Imagine the feds chasing dozens of social media platforms to fight election interference.

There is no chance any legislative body will break up tech. They'll more likely go the bank route and make them too big to fail, and regulate them, which amounts to giving the government direct or indirect power in what speech is allowed on the platform.


It’s quite a perverse situation because it amounts to the government running around legal protections (like the first amendment) by simply having virtually all societal speech exist in privately controlled spaces. They can simply use the threat of legislative action to influence that private space. Glenn Greenwald has written a few different pieces about this, like: https://greenwald.substack.com/p/democrats-and-media-do-not-...


Facebook stays big because nobody else seems to have the magic combination of (1) a more compelling product vision for a social network, (2) capacity to execute and scale that vision.

Come on, can't anyone make a product that connects friends better than FB? I'm sure it's technically amazing, but from a product perspective, my god, look at the thing, it's an absolute garbage fire. You can tell from the notifications it sends that it wants you to watch shitty videos and read shitty news articles alone, not connect you with your friends.

Make a social network that feels like an actual social space and not an ad-infested media shithole, and I'll sign up, my friends will sign up, everyone will sign up, and FB will be toast in a couple months.


I agree with you, but queue the responses implying that without adtech stalkerware there is no way to pay for it.

My response to that tired theme: you don't need a mega $B valuation to pay for a simple social network for sharing baby pics with friends and family. A non-profit or a benefit corp structure would be just fine.


Check out RStudio PBC. Incredible tech company. Doing just fine.

And people pay $10/mo for Netflix, why wouldn't they pay a few bucks a month for an actually good social network? Heck, make it free for a month or six, no credit card needed, and when people see how good it is they won't leave. I pay for Disney+ just to let my kids watch Disney movies BECAUSE THEY'RE GOOD.


You need a lot of people using the service for people to find it worth paying for. I saw this with Pillowfort; intended to be a place for the people who had been forced off of Tumblr to go. They require a one-time $5 payment to create an account because they don't want to bring in investors and be forced to exploit their users to maximize earnings. This payment stopped a lot of people from joining. They are used to being able to share their art and socialize online for free. And they had no guarantee that others would join and stick with the site.


People subscribe to Netflix (and its competition) because there's no legal way to get that service for free, and it doesn't matter if their friends are also using that same service.

People won't subscribe to a non-free Facebook competitor because Facebook is free and none of their friends are on the non-free competitor... And most of their friends never will be.


I get the idea, but I feel FB sucks so badly that eventually a much better product will figure out a way through the gauntlet. There's a lot of money sloshing around out there with nothing to do.

Most likely the product will be free for a while and switch to paid. It kind of sucks but for a really good product it could work.


That, or it remains free to use, but offers optional paid features. Seems to work well enough for free-to-play video games; Fortnite is presumably a decent enough money maker for Epic Games, for example.

This is almost Reddit's model (with Reddit Gold, and now the various other comment/post awards added recently), except Reddit also sells ads; it'd be interesting to see if the awards alone are enough to keep the lights on absent a need to appease investors.


Yes, there's a strong case for Facebook. But consider Skype: it was pretty easy for people to ditch Skype and move to Zoom. Facebook's strength isn't just a network, it also has a lot of people's recorded history. So, the power of network effects varies. I think if e.g. Signal came up with features that Whatsapp lacks, it would have a good chance to displace Whatsapp.


If Skype had remained as useful and easy to use as it was >10 years ago, Zoom would

A) probably never have picked up steam, and

B) had a much steeper uphill battle

Before the plague hit only startups really used Zoom. The corporate video call space was dominated by things like Webex (awful), BlueJeans (awful), whatever MS morphed into current Teams (only slightly less awful), or if you were lucky, Google Hangouts (also just slightly less awful). Skype wasn't even a contender, and even against the kind of all-star field I just listed, it was a shitty experience - which says a lot.

There was a big void for real-time video business conferencing that "just worked", but until early 2020, the space was cornered off by giants who saw it, at best, as barren ground. Enter global, mandatory remote working and all of a sudden the existing players had nothing to offer. The market had stagnated, and beancounters had driven out all expensive innovation. All of a sudden, the space blows up and the neglected main tech in use is no longer fit for the new purpose.

Zoom has a lot of problems, but what they did have was a product that "just worked" in almost any setup, coupled with architecture and infrastructure that at least COULD respond to insane, long-lasting spike in demand.

Skype had become a rotting corpse nobody wanted to look or smell, but that was too heavy to move and too putrid to touch. We needed big enough a fire to burn it to ashes to make space for someone less atrocious. Zoom just happened to catch the tailwind, mostly because all the existing players had also abandoned the space but would not dare to leave it unguarded.


Is Skype that bad? Every time I've used it (rarely) over the last 10 years, it's worked pretty well for me.


I've used google hangouts and then Meets at my work and it's fine. It does not require any special training to use, it works as you'd expect, and basically gets out of your way.

I've used Zoom for online classes (as a student) and don't see any difference or advantage between it and Meets. You still click a link and and a window open ups, your camera turns on, there is a chat box, etc.


I use Zoom and Meet daily too. They are both functional on the bare-bones level but fail miserably with anything more complex - such as a 10+ person meeting. Or screen sharing.

Meets craps its UI dimensions when you open chat. Zoom pops the chat window up in the middle of the screen, which is only slightly less bad. Both have problems if you have detachable video camera(s) in addition to laptop's own. And don't get me started on the audio path: even if you do manage to pick the right input and output, there's no guarantee the audio actually gets routed through. Expect to restart the video call software 25% of the time and pray it reconnects the streams all the way through.

Oh, and Zoom's screen sharing experience on multi-monitor OSX setup is unforgivable. When you choose to share a screen, it triggers a sequence where the audience sees your shared view but you do not. The window you chose to share gets hidden locally.

Whoever thought that would be an acceptable user experience needs to have their head examined. Possibly with a trepanner.


Wow, the word sounds bad on the OSX land.

I have a couple meetings/day on Meet, some small, some 20+, usually with screensharing by others, with a laptop with two webcams, 3 mics (internal, external webcam and dedicated mic) and 4 audio outputs (internal, each of two monitors (but only one has speakers connected) and Bluetooth headphones). The settings seem to always pick the right choices of inputs and outputs by default but change is easy.

The only thing that sometimes gives me trouble is the Bluetooth headphones connecting to my phone instead, but that's once in a blue moon.

The thing that is somewhat broken is sharing my screen, but sharing an application works so not a big deal.

Not sure about Zoom land though, only watched a couple classes over it.


Zoom allows annotation and drawing on top of a shared screen - actual shared screen, not a separate "whiteboard"

This means I can circle a word or append a box to a diagram on a pdf my colleague is screensharing with me.

I can have non-technical meetings on whatever.

But annotation over shared screens is 100% the feature that keeps me on Zoom for all tech work


> Skype had become a rotting corpse nobody wanted to look or smell, but that was too heavy to move and too putrid to touch. We needed big enough a fire to burn it to ashes to make space for someone less atrocious.

This upsets me greatly. I recall downloading the old versions of Skype a few years ago from http://www.oldversion.com/windows/skype/ and they were actually nice to use, felt responsive and just generally were most of what i'm looking for in a chat application.

At work, we still use the current versions of regular Skype (not Skype for business, which i'm told is a separate product and disgusting) for stand up calls and some meetings, as well as a chat solution for talking with colleagues, since Slack and Teams chats are too fragmented. It would have been nice to centralize everything on a single self-hosted platform, about which i wrote on my blog: https://blog.kronis.dev/tutorials/lets-run-our-own-chat-plat... but until something like that would happen, Skype is the closest thing we've got (apart from e-mail, ugh).

I also used Skype throughout my university days to chat with my friends, and even all the way back in school, to keep in touch with people. Now, Skype has largely been displaced by Discord or WhatsApp for those purposes (no one seems to care for Telegram or Signal) and there are very few cases when anyone will turn to using Skype anymore.

And somehow, the product is way worse today than it used to be. The UI feels more "app-like" at the expense of being confusing and slow, there are occasionally bugs with how text shows up, it's spiraled downwards far from where the original native apps were and it seems that Microsoft will continuously throw the whole platform under the bus in favor of Teams.

But neither Teams, nor Zoom are good either! The sharing UI just jumps all over the place and in zoom even forces full screen. Zoom is obnoxious and doesn't let you open the options menu without being signed in, whereas Teams is broken and doesn't let you share files directly (neither does Zoom, to be honest). They just feel like a huge step backwards for general purpose communication, instead being meant just for meetings.

So what's left? Discord, Slack and even Rocket.Chat (which i mentioned in that blog post) all have their idiosyncrasies, for example, you can't really use Discord if all you need is one group or meeting, since it's centered around the concept of servers. I really don't know how we went from something that's good enough to a plethora of mediocre and sub par solutions...


Did not thread fully, but I get your point. I know large portion hacker news audience dont like Sowell (and other Chicago school econs). In Basic Economy he defines that monopoly cant be defined “market share”, but how hard is to migrate off/open new competitors. Seing how tiktok eating userbase for fb. Its hardly defined as monopoly in social media angle. There should be more


If you want to time when people will completely leave Facebook forever, timing markets is basically a fools' errand.

I think though that while Facebook the social network may not last very long, I'm less sure that Facebook as a facilitator of ads will go away. They have a lot of historical data on which to continue determining ad placement on the Internet. Google ads don't just exist on Google sites.


> it was pretty easy for people to ditch Skype and move to Zoom

Only because Microsoft probably assigned two interns to maintain Skype in the last 5 (if not more) years. I do agree with your point though.


However there is no good alternative for Meta’s Facebook, despite its degrading web UI over the years. I dont think its that much of a problem growing at 1-2% per month instead of 20-25% for any new social network.

People should ideally stop using whatsapp and move over to Telegram as it seems to be the only one that has whatsapp UX parity. Thats what I did, and I also have signal, discord etc and I own no shares of Telegram.


> People should ideally stop using whatsapp and move over to Telegram as it seems to be the only one that has whatsapp UX parity.

UX parity?? Telegram's UX blows WhatsApp out of the water. Stickers, message edits, polls, location sharing, bots for public channels, audio chats, etc etc. It's not even close!


And I don't really want any of that. I want just send textual message to group of people for free. Maybe add an image, but that is it. I don't really care about anything extra.


But even that Telegram does better, because you can edit messages you've sent to correct typos, you can pin them in channels, and there are extra nice things which might come in handy ( when do you want to meet? A pinned poll and it's easy).


I use Zoom and Skype but Zoom has not come close to replacing Skype for me. I have skype-in with multiple landline phone numbers in multiple states. Zoom does not offer this yet.


Curious what you think Telegram has over Signal. If your motivation for leaving WhatsApp is because of privacy concerns both WhatsApp, Signal, and even iMessage for that matter are technically superior to Telegram. Was it personal preference between the two or network effects of the larger user base on Telegram?


>Facebook ... stays big primarily because of network effects

And trying to buy anything that competes. If they'd been blocked from buying Instagram and WhatsApp they'd be in a much weaker position. Antitrust stuff could in principle stop them doing that.


It is kind of working now, I doubt they would be able to buy TikTok. I don’t recall them being involved at all when Trump was trying to force its sale.

But yeah big tech needs to be massive before it comes under any real antitrust scrutiny.


I personally think web 3.0 is overhyped and almost anything involving NFTs are basically ponzi schemes. But the premise is decentralizing the web, which if it even partially delivers could in theory chip away a lot of most tech giants. Combined with regulation things could change.


Right now, I see there a 2 approaches. 1. crypto/blockchain - redo everything literally 2. federated services - such as mastodon, discord?... for the most part you have some identity within larger ecosystem, but you can easily run your private community

Question is if road further is a small shift in how services get constructed or complete rewrite in new ecosystem. People betting on web3 are doing wild bets. At the same time people betting on federated are doing very conservative bet on mental shift that is wild(since getting traction on federated is difficult - 98% of people have no real benefit).


A lot of these things run on sentiment . About 15 years ago the supposedly smartest people and greed was on Wall Street . Talking derivatives and investment banking was where all my college friends with the best grades went .They were the bad ones and we were the cool good ones. Fast forward to today and big tech is where those same college friends are now, the greed is still there , the gentrification of the west coast and a whole host of things means we are the bad guys now. Enter the FTC and new anti- trust and anti- monopoly laws. It’s been a great ride for the last decade but I agree that big tech needs to be reined in .


Agreed, I’ve been saying this for years now to friends lol. There was a big culture shift but no one remembers how it was before.

Dot com explosion had a long tail. IT was for losers in the 00s and everyone wanted to be a quant and work for GS. The field was very unsexy.


Antitrust won't end big tech. It will just kneecap the US and Europe. They will take the only part of the new economy they have a foothold in and hand it to someone else. China's tech companies, supported and subsidized by the government, will take over. This is blindingly obvious.

The thing that is amusing is that US/Europe seem to think they will be able to deal with this and effectively regulate them, despite not succeeding at this at all in the past (see China + IP, etc).

One major reason is that China is willing to play "unfairly" to support its companies. US/Europe will be unable to ban these services entirely because their citizens depend on them too much. They will attempt what they do now, which is to regulate them in various ways to "ensure competition"

But when you go to do that to a chinese company, the government will find a way to make it hurt for you. You make it hurt for Chinese Search Engine Company, they will ban the chip companies from making chips for you, etc. They are much better at this game than the other governments.


> China's tech companies, supported and subsidized by the government, will take over.

This is going to be unlikely, when the Chinese government is actively kneecapping its own big techs.

Data is going to be regulated like money, and not everyone is going to have the privilege to operate data on one's soil moving forward. No western companies could do in China, or vice versa.

> US/Europe will be unable to ban these services entirely because their citizens depend on them too much.

They can just ask it to sell, which was happening to TikTok, or setting up joint venture capital. They are many ways to do such things, government can make you bleed if they want to.


The chinese government is not kneecapping them, it's carefully forcing them to fall in line, and doing so in a way that won't hurt its own interests.

Remember that in China, the government is the kingmaker. In the US/EU, the companies are the kingmakers. China is simply reminding some of it's companies that this is the case.

As for the last, good luck. You have a coherent long term strategy that they are willing to sacrifice short term for on one side, and a completely incoherent mess that changes every 4-6 years on the US/EU side.

After they are finished kneecapping the US/EU companies, they will need these chinese companies more than china needs them. Not exactly a great negotiating position - there will come a point where you say "sell", and they say "nah, that's okay, we're good".


No it is beyond just compliance - Xi is outright starting to Mao it up and dusting off the communist claptrap when it is useful to him, and spouting crap about China's future being in physical good manufacturing. He is doing the narcicistic dictator trick of fucking over nice things as potential remote threats to his power.


>This is going to be unlikely, when the Chinese government is actively kneecapping its own big techs.

Not really, just taming them. Which is pretty much all done at this point.


It depends on what we are talking about in regards to "big tech".

It's not clear to me that products like Facebook that are primarily driven by cultural rather than technical dominance are something that the Chinese are likely to be able to dominate in. Facebook dominates because your friends and family and hobbies and whatever are on there, doing their thing. When they stop doing that, Facebook won't dominate anymore.

Now if Han culture becomes internationally dominant as the "cool" culture which North Americans Europeans aspire to emulate (like how American culture was internationally in the post WWII era through, say, the early 90s), then all bets are off -- but I think the trend is actually going opposite to that now.

Until then, there will be social networks that dominate in China and there will be social networks that dominate in Europe and North America; because culturally (and politically, obviously) and they will rarely overlap as these are still two very distinct entities.

I think it's likely that the same argument applies to a lesser degree to the ads space, and maybe even to commerce. Something like AliExpress feels worlds apart from Amazon despite the latter become increasingly a wild west of knock-off discount Chinese products anyways.


Counterpoint: TikTok.


All big movies have random Chinese culture or star included. Han culture may become part of hollywood's core which will spread the culture


The US funded EUV technology (the tech behind 7nm and below), and have used that DARPA funding to prevent Europe's ASML from selling to China. It seems to be almost exactly what you are warning about in reverse.


> You could create a website with all the technical features of Facebook, and few would use it because their friends aren't on it.

Much easier said than done. FB is a massive product, I don't think anyone can realistically predict how something that really had all the features of FB would actually fare. Beyond that, we know that new networks are created all the time despite the existence of other big ones. Based on your premise, tiktok shouldn't have existed, nor insta, nor snapchat. Network effects matter but if the product actually does something useful or better and is well designed, people will come.


The best thing that regulators can do is to enforce common protocols. The only things that have survived becoming a walled garden by big tech are big protocols that existed before them (e.g. email)


facebook also caught the social internet first wave.. humanity never had a global website to 'exist' .. facebook came, everybody thought it would be teh future and wanted to try.


that s not true. many different social networks existed, and many were very close to facebook. there were even blogs etc. Facebook was the only one willing to ruthlessly go after people's contacts lists, and get them to use their real names so even non-internet users would undestand it. After it had picked up exponentially more users it was basically impossible to match for others.


Afaik there was nothing like Facebook. Blogs and even MySpace don't count. They weren't integrated like Facebook (you could interact with people in a lot of ways).


Friendster, Hi5, Xing, Linkedin, Myspace, Orkut, Bebo, VK

Those were all facebook's competitors and offered mostly the same features. Facebook succeeded because everyone's friends were there. Facebook was not "integrated", it didnt even have a newsfeed when it started


You could add asianavenue who had millions of users. Except friendster and VK I think I toyed with all the others and none felt like Facebook. MySpace was just a blog + ad-hoc musician, LinkedIn was too narrow.

Things that were different:

- stronger crossover into real life (it wasnt a net persona, LinkedIn was real but it was for jobs, you dont live in it)

- sharing personal Prefs

- games with other members

Maybe I missed these on other websites.

PS: I'm not pro FB, but to my best memory it was clearly different from other websites. Hence my original message.


all of them had those, to different degrees. Bebo even had a copy of the facebook platform for games. Arguably myspace, bebo , orkut etc had more customization and the feeling of subcultures. Facebook was a flat big mass. Their success relied on sucking up every possible contact list faster than the rest.


I don't agree with the contact list sucking. If it was bad people would have left pure and simple. Myspace and others were huge mess, just larger blogs, it wasn't different.


Wait Big Tech hired most of Washington political hacks as VPs & SVPs. Thats regulatory capture.[0]

[0] https://www.cnbc.com/2017/01/10/ubers-david-plouffe-to-join-...

[1]https://www.apple.com/leadership/lisa-jackson/


I left software engineering and became a litigator at one of the big U.S. law firms for the last decade. Here are some thoughts based on my experience.

First, although a technical degree is generally required to become a registered patent attorney, there are a lot of people who do patent and other IP litigation without technical degrees. Software comes up all the time in cases, and being able to read source code is a big advantage.

Second, I firmly believe that programming wires your brain in such a way that makes you good at law school and subsequent practice. The law is really a very detail-oriented endeavor. There is just something about stressing for years about whether there is a missing parenthesis or whatever that exercises your brain in the same way that looking for loopholes in a contract or whatever invokes.

That said, at least in the U.S., the biggest decider of your early success in law will be your LSAT score and undergrad GPA. If you think you might be interested in law, just take the test, estimate what schools you could get into, and then do the cost-benefit analysis with that additional information.

Just my thoughts. Take it or leave it.


Thank you for the reply. I think you're 100% right about the LSAT. I'm prepping for it now.

Have you been happy with the switch from software engineering to law? 3 people in my immediate family are lawyers, so I think I have a relatively realistic understanding of the reality of legal practice. But overwhelming online pessimism about law careers is making me uncertain about taking the risk.


> GNU/Linux Free software such as the GNU/Linux and FreeBSD operating systems were developed without software patents. 91% of the top 500 super computers run GNU/Linux.

This is misleading. Linux has all sorts of stuff in it that used to be under patent protection but isn't anymore because the patents expired. The entire argument for patents is that they incentivize both the creation of new things and the public disclosure of them, with the idea that eventually they will become part of the public domain. There is a complicated cost-benefit analysis here that has been studied by academics for years, which the FSF just ignores. This is fine if you view this as an advocacy piece, but not fine if you want to actually learn something about the issue.


Just to say more on this quickly, the relevant inquiry is not "does software progress without patents, yes or no?" Obviously it would. But the relevant inquiry is whether we have made more or less progress now than we would have had software patents not existed for the last 70 years.

For what it's worth, I tend to agree with the ultimate conclusion that software patents today do more harm than good. But if you want to convince policy makers, you have to address the issue on a less superficial level. And that means actually acknowledging the other side's arguments and rebutting them with evidence or counterarguments.


Honestly, the worst part about Debian is the name. Everything is deb-this and deb-that. Packages are .deb. Which is his ex-wife. Can you imagine getting a divorce and then for the rest of your life have this massive thing associated with your ex and will never go away be named after you? Yick.


The "congratulations" is a bit condescending. AWS clearly benefits from curl. But I guess that is FOSS in a nutshell.


AWS C++ SDK uses it to access AWS. Probably some other AWS SDKs as well. That amount should have been at least 10x and recurring.


That's a bit overstated. Although curl wrappers exist for most languages, they're far from popular or consensual in each individual community.


What's "overstated"? Literally every single API request in C++ AWS SDK goes through libcurl.


And atleast compounding as well. /s


> AWS clearly benefits from curl

Don't we all?


Patent lawyer here. There is a lot of dubious stuff already in this thread, so be careful with legal opinions from people on the internet.

Some relevant claim language is below. Of course a lot of this stuff has been known for a while, but you have to have everything together--or an evidenced argument that combining things in this way would have been obvious--before you can conclude anything about the validity of the patent. And on unpatentable subject matter (i.e., being an abstract idea), there is a pretty good argument that this improves the functionality of the computer, not just uses a computer to do something known, which recent cases have started using as the de facto dividing line.

1. A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations for automatically managing a set of memory chunks within the one or more computer memories at runtime for a computer application, the operations comprising: receiving a set of entities from the computer application, each of the set of entities including a set of components, wherein each component of the set of components has one type of a set of types; classifying the set of entities into a set of archetypes, each archetype representing a different count of the set of components or a different combination of types of the set of components relative to other archetypes of the set of archetypes; based on a determination that one of the set of archetypes corresponds to a new archetype, building a new memory chunk, adding the new memory chunk to the set of memory chunks, and populating the new memory chunk, wherein the populating of the new memory chunk includes adding data from the set of components included in one or more entities of the set of entities that are classified under the new archetype, the adding of the data including contiguously adding the data to ends of a set of component data arrays included in the new memory chunk, each of the set of data arrays included in the new memory chunk corresponding to a respective component of the set of components included in the one or more entities that are classified under the new archetype.


Not a patent lawyer here. But I'm unfortunate enough to have several patents to my name, owned by past employers.

My impression of everyone that I have ever heard from, or dealt with, involved with patents is that you all are so firmly in regulatory capture that your heads are captured up your collective asses, and the tech industry is being hampered by the resulting legal quagmires.

In a sane world, the entire description that you gave falls squarely under "generic computers doing generic computer things". And therefore by Alice v. CLS Bank as decided by the Supreme Court, it should not be patentable. Period.

Unfortunately the United States Court of Appeals for the Federal Circuit has gone rogue, and you're almost certainly correct that they will happily grant use of the patent to any patent troll lucky enough to get it. And the Patent Office is so firmly in the land of regulatory capture that bad patents like this have no trouble being issued.

And the result is that people whose work ACTUALLY achieves "Progress of Science and useful Arts" is hampered by this crazy system. And our patent system continues to undermine its stated Constitutional purpose.


It's unfortunate that any criticism of the patent ecosystem gets immediately shot down by 'You are not a lawyer', The impact of the flawed patent system affects everyone and so anyone can point it out.

I strongly believe that actual innovators are now left to 'innovate' within the boundaries set by the mega corporations with the help of their patent-pipeline and the patent trolls with the help of flawed legal systems.


To be fair the lawyers are mad at us engineers for automating away many of their jobs. I think they’re jealous their profession isn’t top tier anymore.


The entire patent system needs to be dismantled. It's simply hampers competition and prevents free trade. All of us in the technology industry know that the simple facts are that building a business is 99% perspiration and 1% innovation. Further, any new idea is based on a mountain of previous human innovations. Even the largest leap in human history was a miniscule percentage of the entire knowledge base it rested on. For someone to claim ownership over even a small bit of something that is based on all the sweat blood and tears in human history is nightmarishly wrong.


Disagree with gone rogue except for some parts of East Texas


I was not naming courts in general. I was naming the specific appeals court that takes on all patent cases, and has essentially constructed most of current patent law unsupervised.

See https://www.obwbip.com/newsletter/why-does-the-u-s-supreme-c... for some background on this.


Who cares if all the court cases happen there?


> In a sane world, the entire description that you gave falls squarely under "generic computers doing generic computer things".

That archetype stuff is so out of the norm that it took me a long time to grok how to work with it in Unity. It's most certainly not "generic computers doing generic computer things" and I've never seen it elsewhere, so I'd guess it would be quite defensible in court especially now that they have a patent.

Not sure what you're on about, but if it's a valid concern I'd pick a better example than this specific piece of tech (granted that one tiny snippet from the patent might not portray what the tech is or how it's unique).

Edit: seems like there is some confusion here about ECS and how archetypes are implemented in DOTS. ECS and archetypes are not synonymous, so I’m not sure what to tell you when you claim they are.

But I’m also not sure how downvoting me is helping here. I guess community consensus is that archetypes and ECS are the same thing, in which case Unity will have an uphill battle ahead.


ECS is bog standard in a lot of smaller game engines. It’s not new, I first worked with it ~2010 while hacking some Flash stuff together, and I use it frequently when I hack together games in other engines. I’m really baffled by how Unity would be able to patent this.


A lot of us - possibly yourself included - were exposed to ~ECS by this 2007 article: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy...

Archetypes are a conceptually simple implementation optimization (group similarly-populated objects) not unique to ECSes - e.g. v8 organizes javascript objects based on their "shape" (again, grouping similarly-populated objects, based on their "properties" instead of their "components") (2017 article: https://v8.dev/blog/fast-properties .)

You can add all kinds of automagic parallelizing and filtering libraries (which I imagine have some overlap with database query optimization and scheduling in their fundamentals), but the basics are incredibly trivial - to the point where you might re-invent it by accident without knowing it has a name.


Yeah I had never heard of ECS until about a year ago, yet if you could look at the whiteboard on my wall from 2 years ago you'd find a diagram for a primitive version of an ECS I came up with as a hypothetical. Idk understand how tf that could be patentable if its something a former 2.7 gpa CS student could come up with on a whiteboard.


I think it’s one of the standard architecture for games. You can do ECS or hierarchical objects any times you need to build a lot of similar objects.


I thought archetype-based ECS was the standard way to implement an ECS. Typically using bitsets or something to define an archetype.

But I may just not be understanding what an archetype represents exactly. My only real experience with ECS, besides implementing a crude one around 2011 for fun, is EnTT, which specifically advertises itself as not being archetype-based as one of its key differentiators.

Its likely I just don't quite understand archetypes though.


It's aggravating that parents are purposefully written in a language that makes it harder to read.

What I could gather from it is that this is just an implementation of archetype-based ECS. Which just means that entities with the same set of components (that is, the same "archetype") are allocated together.

But I don't know whether they are patenting archetypes in general or just a narrow usage.

Now I have a question: is it possible that things published before the date of the patent (24 march 2020) are infringing on the patent? Or, on the contrary, things published before this date can actually be prior art?

Because, there are Rust ECS libraries that use archetypes, like for example legion https://crates.io/crates/legion/0.1.0 - that had its first release on 9 march 2019. And even at this date, the concept of using archetypes to optimize the memory layout of ECS applications is not novel. More about this here

https://csherratt.github.io/blog/posts/specs-and-legion/

I would say that the google v8's Javascript optimization, where they create a new struct layout for each possible combination of object fields, might as well count as prior art. It doesn't use ECS though: but I don't think that prior art needs to check all technology boxes. I argue that, in light of v8's trick to turn objects with dynamic fields (traditionally stored as a hash table) into objects with statically known fields, then ECS archetypes are not novel enough for a patent.

(And I don't even know if the v8 optimization is itself novel)


> Now I have a question: is it possible that things published before the date of the patent (24 march 2020) are infringing on the patent? Or, on the contrary, things published before this date can actually be prior art?

You have to look at the date of filing, not date of publication. The date of filing is June 12, 2018 (patents take a few years to issue these days). So March 9, 2019 cannot be prior art.


This is very very concerning. Not only Amethyst's legion is archetype based, but also Bevy's ECS. So the Rust gamedev ecosystem is somewhat tainted (depending on the specifics on the patent and the source code of those frameworks, but I think that even reading the patent is risky - or at least I was told that, because if you know about the contents of the patent, infringing it is worse)


Isn't that the same principle that e.g. https://www.boost.org/doc/libs/master/doc/html/poly_collecti... which has existed since 2016 and described since 2014 (at least: https://bannalia.blogspot.com/2014/05/fast-polymorphic-colle... ) ?


If someone online talked about archetypes earlier than June 12, 2018 that can be prior art.

You don't need to have working code to take on a patent. If someone posted a medium article, or even some kind of proof of concept or cobbled together POC that'd be enough.

(I think really any kind of proof that you had the idea before that date is good enough -- a personal diary would work in principle, but you'd need to somehow prove that you wrote your thoughts down on the date and didn't forge it after the fact)


> "a personal diary would work in principle, but you'd need to somehow prove that you wrote your thoughts down on the date and didn't forge it after the fact"

Patent agent here, not patent lawyer. (that means I passed the patent bar exam and could write your patent, but could not sue anyone over it.)

Wrong, wrong, wrong. Prior art has to be "published" (and there is a whole body of case law about what that means). Maybe you are thinking of the old "first to invent" rule?


This is correct, although published is pretty broad it doesn't include everything under the sun.

The real problem is that the patent examiners are not in general required to look at the whole breadth of what is published, just what is in the patent databases.

As a result there can be clear prior art, but unless it gets fed in during the review process, the practical way to resolve that is likely to end up in court, and likely to be expensive.

Of course often "clear prior art" isn't too. Hence the process to sort it out.


Interesting side note about non-patent prior art (by the way, the examiners do, most of the time, look for it):

I was told that a proposal to require the examiners to use Google was rejected by the union: if you're going to require us to do more work, then you have to pay us more.

This was back in 2012 or so. I have no idea if now they have to use Google, but they only get about a day and a half on each patent (again, this is old data).


> (by the way, the examiners do, most of the time, look for it)

Sure, but usually superficially (and not, I think, required); which is fair - you can't practically require the patent examiners to have the kind of breadth and depth necessary to have a good feel for this.


One more point about this: the date on the publication isn't necessary the effective date. If it's a journal that says "May 1999" that doesn't mean the date is May 1. It would be the date that it became available to persons in the art.

Getting a librarian to say "yes, we cataloged it and made it available on May 5" would be pretty strong. Or a Wayback Machine archive from May 2.


Ah okay didn't know that.

Still I think I've been deposed (I got grilled by an actual hostile patent lawyer) before over an old Usenet post I made in the late-90s (that was really more of a "showerthought" in the middle of an flamewar) that was being used to attack a patent.


Yes, the rules changed in 2011, as part of the America Invents Act. https://en.wikipedia.org/wiki/First_to_file_and_first_to_inv...


Aren't ECS systems much older?

I remember reading about them in my CS studies, and that was pre 2011.


It's specifically archetype based ECS that's been patented. Like (seemingly) everyone else in gamedev, I've implemented ECS multiple times over the past 10 years. The last time I did it was in Rust, trying to be the first to use Rust's awesome parallel processing constructs to make an automatically parallel ECS, I got distracted halfway through and then specs beat me to it.

I'd never seen or heard of archetype based ECS before I first saw Legion and I was very impressed with it. I don't know where they got the idea but it's very worrying if Unity legit came up with this first. I'm not super up to date on what's happening inside AAA studios, but what I've seen in production is that game studios usually manually group components to optimise performance. The automatic grouping in archetypes is definitely not mentioned in any tutorial or game engine architecture I've ever seen before Legion.

Edit: creator of bevy has a great initial reaction to this on Reddit: https://www.reddit.com/r/rust/comments/pjtpkj/comment/hbzaz6...


Ok, 2019 is out

How about 2013:

https://www.gamedev.net/tutorials/programming/general-and-ga...

I use a heavily updated version of this for my own projects


Ignoring the specific claims in the patent (automatic memory optimization or whatever), if we're just going by entity component system articles, we can do a lot better. Here's one from 2007:

http://t-machine.org/index.php/2007/09/03/entity-systems-are...

IIRC this one was the one to really popularise the idea of not storing any component data in the entities. If you loosen that requirement, there were earlier ones still (eg the one from the Dungeon Siege team).

But as others have mentioned, ECS is really a special case of a relational model, so its entirely possible that Unitity's techniques have been done there already.

Also, I found it pretty difficult to understand the claims, they didn't exactly make it easy to read, so I can't quite figure out exactly what is patented. It also doesn't help that they don't clearly define their terms, eg what exactly do they mean by archetype? Maybe they describe it in the description before the claims, but I didn't find it at a cursory glance and it was too painful to try read it all. I wonder what their definition exactly entails, versus what I imagine they mean from what I know of archetype-based ECS's. For example, if they mean "a conceptual grouping of entities that have the same components" then non-archetype ECS could fit that, but if they mean their specific implementation then I don't know. EnTT, a popular non-archetype-based ECS, has had "views", which are ways to efficiently access components, since its first public commit in 2017: https://github.com/skypjack/entt/commit/b0b8ee7aea3d9f5cfe6f...).

Whether any of that is relevant to the patents validity, I have no idea. Probably not.


It's not relevant. Unity is claiming an automated system for determining an optimal memory layout as entities with new combinations of components are generated (at runtime). Such a layout defined in advance would not infringe.


> Unity is claiming an automated system for determining an optimal memory layout as entities with new combinations of components are generated

So they've patented a database server, basically.


I was wondering when this would come up. Everything people are inventing in the "ECS" space, including the very concept of "ECS" itself is just concepts from databases being adapted to storing small amounts of ephemeral data that needs to be manipulated very quickly in-memory rather than large amounts of data that need to be persisted reliably on disk.

The idea that there's anything patent-worthy in automatically storing like combinations of data with like combinations of data for efficiency is... patently absurd.

But that's where the patent system is, now, I suppose. It's now mostly just a tool to help incumbents raise the barrier to entry so they can fend new entrants off with lawyers rather than merit.


Well said. Incumbents "Industrial Incumbents"

You didn't patent that did you?


Can you name a database that performs such a function? There might very well be one, but I'm not aware.

I'm most familiar with relational databases and the way in which their data is stored is generally dictated by the schema.

At a minimum, to be consistent with this patent we'd be talking about a database that accepts arbitrary groupings of predefined sets of fields, which then on-the-fly determines how best to pack these individual sets together with other sets belonging to other groupings. The fact that we are talking about two types of collections (one nested in the other) is key -- that is, the nesting of fields within the sets ("components" in ECS terminology), and the nesting of these sets within the groupings ("entities" in ECS terminology).


> I'm most familiar with relational databases and the way in which their data is stored is generally dictated by the schema.

One of the major features of relational databases (and the improvement over their predecessors) was precisely the disconnect between logical and physical model. If the logical schema dictates how something is stored physically, then it's not a terribly good system. At the very least the intention with relational databases was to provide for this extra flexibility that previous models didn't have. Sure you don't have to exercise that flexibility but it's always been there.

> we'd be talking about a database that accepts arbitrary groupings of predefined sets of fields, which then on-the-fly determines how best to pack these individual sets together with other sets belonging to other groupings

So basically columnar storage with table inheritance would be enough to do the trick. I know there's databases for either of those features, and it's absolutely not a huge leap to put the two together. Fact is I wanted to implement something like this for CLOS but didn't have the time yet, sadly.


That’s not exactly novel either.

I’ve seen engines that do that and updated my own code to do so. Unfortunately git says that was added after they filed.

Their employees could have easily pulled this from community discourse.

What’s probably needed is community backlash; no more unity games. It worked with Apple.


https://www.youtube.com/watch?v=W3aieHjyNvw&t=1455s

"In this 2017 GDC session, Blizzard's Timothy Ford explains how Overwatch uses the Entity Component System (ECS) architecture to create a rich variety of layered gameplay."

(My favorite resource to explain ECS + NetCode)


Now I expect someone to develop an AI-based translation system to convert legalese into layperson's expressions. It could be easier than translating two natural languages.


You might not even need AI if the copied phrases are precise enough (which they’re incentivized to be). Just a regular string search, with annotations and/or a mapping to phrases used by human beings.


> It's aggravating that parents are purposefully written in a language that makes it harder to read.

Legalese is a discovered language. Various phrases are reused because their meaning has been found in previous court cases. Using novel language to express an idea with an existing, court-tested alternative is begging for trouble.

Lawyers are not very expensive compared to the consequences of trying to read it yourself. This would still be true even with a less-legal-ly legalease.


Isn’t there a ton of prior art? I’ve seen tech talks about ecs implementations for years.

From the top of my head, here’s a great tech talk about overwatch. https://youtu.be/W3aieHjyNvw

Here’s a tech talk by Bob Nystrom (the game programming patterns guy) that mentions ecs from years ago https://youtu.be/JxI3Eu5DPwE

Edit: letsInvalid in another thread above linked to an article from 2013: https://www.gamedev.net/tutorials/programming/general-and-ga...


Wait just one second... they managed to actually get a completely generic description of ECS into the claims?

EDIT: yes, yes they did. What you see above is in fact clam 1, in it's entirety.

This is worse than usual. Usually "X patents (common thing)" headlines actually mean "X patents (common thing with weird twist)," which is a great deal less severe. This really looks like Unity got an actual patent on the actual ECS design pattern, the one that every game has used for the past 40 years.

They will be able to extort an awful lot of money with this patent before it gets overturned.


Not really. To me the novelty in the first claim is that they have a system which automatically determines an optimal memory layout, even in the face of new combinations of components within a newly created entity. A typical hand-crafted ECS system wouldn't likely infringe -- it's more likely that the memory layout was defined in advance.

I guess this will be a major roadblock to Unreal Engine offering such an automated ECS system, which is a real shame. There are certain types of games which do need ECS to make viable use of computing resources (simulations, etc). You don't see many of those on Unreal now and I guess you won't for the foreseeable future if this patent holds.


What exactly is their system for determining optimal layout? It must be disclosed in detail. They can't just claim that any approach like that is theirs.


Unfortunately your second sentence is not correct; patents do this overclaiming game all the time.

(not a lawyer, co-inventor on three patents so I've been through this, unfortunately as I didn't want to participate in that system, consult a lawyer before doing anything rash).

The claim matters, not their detailed description. The most harmful patents work that way: describe in detail a specific implementation, but write the claims to cover every alternative implementation you can think of.


Unless the system was attempting to cache-optimize the memory, then it is probably going to infringe. So basically everybody.


Several already existing unreal games already use ecs. I saw a tech talk about Conan exiles for example. It’s just not part of the engine. Can’t find the talk, it was an epic event, but they advertise it in job postings

https://jobs.funcom.com/jobs/975839-gameplay-programmer

Edit: the video https://youtu.be/QlKXPBFh5BM


But that is exactly what an archetypal ECS is! It is used to determine an optimal memory layout with whatever combinations you throw in!


> they managed to actually get a completely generic description of ECS into the claims?

From looking at the claims, it seems they are patenting archetype-based based ECS. In other words, not just vanilla "array of components" but "array of sets of components".


Patents no longer fulfill the reason they were created, and exist only to fill the pockets of big businesses and the lawyers they employ.

Patents do nothing to advance science or technology, and everything to prevent new invention.


As a patent lawyer, can you explain what that claim means? Why does it seem intentionally confusing?


> Why does it seem intentionally confusing?

Because "group entities together in memory by which components they have" isn't patent worthy.


Except that it might be, because if people knew how to do it, they would have for the past 20 years that ECS have been implemented in the games industry that is notoriously focused on memory locality optimisation.

(not that I'm advocating for the patentability of software in general, I just think that if software should be patentable, this sure seems like something that could be)


There is a strange rule that each claim in a patent must be one sentence. So they construct these massive run-on sentences.


It's not just the run-on, it's also the pointlessly verbose descriptions using words that aren't used in the industry nor common English


> And on unpatentable subject matter (i.e., being an abstract idea), there is a pretty good argument that this improves the functionality of the computer, not just uses a computer to do something known

That's not really what is getting folks riled up with respect to patentability. The techniques mentioned (as interpreted by some) are considered not at all novel, being widely known in the prior art.

That's my take. I haven't dug too deep.

Update after briefly reading the patent. I like to read claims backwards, because they almost always build upon each other, with Claim 1 basically claiming the broad domain, and each subsequent claim narrowing the scope. Claims are "subtractive" - each has to match, unless you specifically call out sub-claims (e.g. "8. claim 7, but also ABC; 9. claim 7, but also DEF").

Here's a plaintext link for those following along: https://patents.justia.com/patent/10599560

Claims 17 and 20 are the real kickers.

> The method of claim 10, the operations further comprising:

> determining that an entity of the set of entities within a first archetype has been modified;

> based on a determination that the modified entity corresponds to an additional new archetype, adding the additional new archetype to the set of archetypes, building an additional new memory chunk for the additional new archetype, populating the additional new memory chunk with data from the set of components included in the modified entity, and deleting data corresponding to the modified entity from the first archetype;

> based on a determination that the modified entity corresponds to an existing second archetype in an existing memory chunk, populating the existing memory chunk with data from the set of components included in the modified entity, and deleting data corresponding to the modified entity from the first archetype.

Woof. That's really dense, but it sounds like it's basically describing inheritance based on composition. To update an archetype and all entities of that archetype, create a new archetype in memory, move some pointers, and you're done. No reallocation beyond that updated archetype node.

> 20.20. The non-transitory machine-readable medium of claim 19, wherein each component data array of the set of component data arrays is contiguous with a next component data array of the set of component data arrays.

So this isn't just about ECS, this isn't about archetype ECS, or even OOP-based archetype ECS. This is specifically about an OOP-based archetype ECS using some fancy memory layout method, which lays out contiguous chunks in such a way that modifying archetypes doesn't result in large reallocations. I think. It's super dense.

Even with all that added specificity, I still think it falls short of clearing the bar of novelty beyond prior art. This is such a performance-relevant part of game engines that leverage ECS, that somebody out there has to have already thought of ways to improve the memory management of entities.


Invalid under Alice.

We don't care about the "prior art" filter, because the patentability filter already failed.


Where does the patentability filter fail? By "clearing the bar of novelty beyond prior art" I am referring to both novelty and non-obviousness.

You seem to be implying, by referencing what I can only assume is the Alice Corp case, is that the patent is too abstract. I don't think that's the case. The patent describes a very specific technique for memory management and archetype based inheritance.

I think the technique would be patentable were it an inventive step above the prior art, but it's not novel enough, IMHO, IANAL, BBQ.

https://en.wikipedia.org/wiki/Alice_Corp._v._CLS_Bank_Intern...


>> Even with all that added specificity, I still think it falls short of clearing the bar of novelty beyond prior art. This is such a performance-relevant part of game engines that leverage ECS, that somebody out there has to have already thought of ways to improve the memory management of entities.

I think it's more specific than a combination of ECS and memory allocation strategy. Since ECS allows dynamic building of "types" or "classes" of objects, this seems to be automatically detecting new types and allocating memory for them separately. Maybe? So go ahead and ECS all you want, and go ahead and use spiffy memory management all you want, but don't tie type inference into your memory allocator. IANAL but that seems to be the ostensibly unique part.


What the hell did I just read? Sounds like Java to me.


What motivated you to become a patent lawyer? Do you like it? What was the process like?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: