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

Makes me wonder if decompilation could eventually become so trivial that everything would become de-facto open source.


It would be "source available", if anything, not "open source".

> An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified or shared (with or without modification) under defined terms and conditions.

https://en.wikipedia.org/wiki/Open_source

Companies have been really abusing what open source means- claiming something is "open source" cause they share the code and then having a license that says you can't use any part of it in any way.

Similarly if you ever use that software or depending on where you downloaded it from, you might have agreed not to decompile or read the source code. Using that code is a gamble.


But clean room reverse engineered code can have its own license, no?


If we're talking about actual clean-room reverse engineering where only the overall design or spec is copied and not the specific code, then yes. In this process, one person would decompile the original and turn it into a human-readable spec, and another person would write their own implementation. But the decompiled code itself is never distributed.

That's very different from the decompilation projects being discussed here, which do distribute the decompiled code.

These decompilation projects do involve some creative choices, which means that the decompilation would likely be considered a derivative work, containing copyrightable elements from both the authors of the original binary and the authors of the decompilation project. This is similar to a human translation of a literary work. A derivative work does have its own copyright, but distributing a derivative work requires permission from the copyright holders of both the original and the derivative. So a decompilation project technically can set their own license, and thereby add additional restrictions, but they can't overwrite the original license. If there is no original license, the default is that you can't distribute at all.


In fact, the story of how Atari tried to circumvent the lockout chip on the original NES is a good example of this.

They had gotten surprisingly close to a complete decompilation, but then they tried to request a copy of the source code from the copyright office citing that they needed it as a result of ongoing unrelated litigation with Nintendo.

Later on this killed them in court.


Yeah, I think it can. I'm reminded of the thing in the 80s when Compaq reverse engineered and reimplemented the IBM BIOS by having one team decompile it and write a spec which they handed to a separate team who built a new implementation based on the spec.

I expect that for games the more important piece will be the art assets - like how the Quake game engine was open source but you still needed to buy a copy of the game in order to use the textures.


But, for example, isn't Cannonball (SEGA Outrun source port) open source?

https://github.com/djyt/cannonball


No it is not. There is no license in that repository.

Relevant: https://github.com/orgs/community/discussions/82431

> When you make a creative work (which includes code), the work is under exclusive copyright by default. Unless you include a license that specifies otherwise, nobody else can copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation. Once the work has other contributors (each a copyright holder), “nobody” starts including you.

https://choosealicense.com/no-permission/


There is a license: https://github.com/djyt/cannonball/blob/master/docs/license....

...but it's very clearly not an open source license.


ah thanks, you're right - I didn't think to look in subfolders. genuinely never seen a license in a subfolder before.


It doesn't even have to be there, you could state what the license is on a website or in an e-mail. Sometimes you can find it in the header of source files (as seen here as well). Having a "LICENSE" or "COPYING" file in the root of the repository is just a common pattern made even more common by all the tools that can consume it automatically (including GitHub's UI).


So instead of reverse engineering.. an llm/agent/whatever could simply produce custom apps for everyone, simply implementing the features an individual might want. A more viable path?


> If you're willing to restrict the flexibility of your approach, you can almost always do something better

John Carmack

One of the great challenges of building apps is guessing the 80/20. I think we’re actually entering the long dreamt of reusable component age.


Open source never meant free to begin with and was never software specific, that’s a colloquialism and I’d love to say “language evolves” in favor of the software community’s use but open source is used in other still similar contexts, specifically legal and public policy ones

FOSS specifically means/meant free and open source software, the free and software words are there for a reason

so we don’t need another distinction like “source available” that people need to understand to convey an already shared concept

yes, companies abuse their community’s interest in something by blending open source legal term as a marketing term


This is not a space for "language evolves". Open source has very specific definitions and the distinctions there matter for legal purposes https://opensource.org/licenses


The terms of the licenses have legal bearing. The definitions of open source are a historical accident that mostly traces back to "well GPLv2 already exists".


the software community is the one trying to evolve the language in favor of this software license specific use case


Whether or not something is "free" is a separate matter and subject to how the software is licensed. If there is no license it is, by definition "source available", not open source. "source available" is not some new distinction I'm making up.

See my other comment: https://news.ycombinator.com/item?id=46175760


I wonder when you're never going to run expensive software on your own CPU.

It'll either all be in the cloud, so you never run the code...

Or it'll be on a chip, in a hermetically sealed usb drive, that you plug in to your computer.


If progress continues, someday it'll be possible to generate the source code for any binary and make a native port to any other platform. Some companies might be upset, but it'll be a huge boon for game and software preservation.


While "native" is always questionable it was possible long ago without actually ever having source code. E.g back in 2024 there was ARM port of StarCraft 1 for OpenPandora. Just "dumb" x86 decompilation and then building against Wine for ARM.

https://hackaday.com/2014/07/31/playing-starcraft-on-an-arm/

https://pyra-handheld.com/boards/threads/starcraft.73844/


That's definitely a possible future abstraction and one are about the future of technology I'm excited about.

First we get to tackle all of the small ideas and side projects we haven't had time to prioritize.

Then, we start taking ownership of all of the software systems that we interact with on a daily basis; hacking in modifications and reverse engineering protocols to suit our needs.

Finally our own interaction with software becomes entirely boutique: operating systems, firmware, user interfaces that we have directed ourselves to suit our individual tastes.


That runs into copyright issues. As someone who does a reasonable amount of decompilation, I wouldn’t ever use an LLM. It falls too close to mechanical transformation territory which is not protected, fair use.

Obviously others aren’t concerned or don’t live in jurisdictions where that would be an issue.


When the decompilation like that is trivial, so is recreation without decompilation. It implies the LLM know exactly how thins work.


Surely then people start using LLMs to obfuscate compiled source to the point that another LLM can’t deobfuscate it. I imagine it’s always easier to make something messy than clean. Something like a rule of thermodynamics or something :)

Though, that’s only for actively developer software. I can imagine a great future where all retro games are now source available.


But on the other hand, at the current speed of LLM progression, a game that might have been obfuscated with the help of Opus 4.5 might in two years be decompiled within hours by Opus 6.5.


This day will arrive.

And it will be great for retro game preservation.

Having more integrated tools and tutorials on this would be awesome.


Yes, I believe it will. What I predict will happen is that most commercial software will be hosted and provided through "trusted" platforms with limited access, making reverse engineering impossible.


Would some sparks fly when easy decompile of MSOffice and Photoshop are available, I wonder.


This deserves a discussion


I've used LLMs to help with decompilation since the original release of GPT-4. They're excellent at recognizing the purpose of functions and refactoring IDA or Ghidra pseudo-C into readable code.


How does it do on things that were originally written in assembly?


This is typically easier because the code was written for humans already.


Someone please try this on an original (early 1980s) IBM-PC BIOS.


I don't believe that was written in a compiled language, so any old 8086 disassembler should suffice. I would love to see what comments an LLM adds to the assembly code, though.


Got a bin?


We're very far away from this.


Downvoted by the clankers.


Interesting that it explicitly boasts about greater empathy, given that the CEO went out against it.


It's OK to have one AI that does not follow the dogma.


you'd think so...


They don't say what feelings it empathizes with.


i'm sure if we try hard enough that we can probably guess!


It's important to be fair and balanced. For example did you know Hitler was actually a really good painter!


funny, but if you read the mecha-hitler tech debrief, mecha hitler was a 'sycophancy' bug, a-la gpt4o, if you gave gpt4o all your edge-lord tweets, and told it to be funny back to you and connect with you. Probably not grok's default posture, just sayin


Bro. Listen. Digging through a garbage can and finding half a cheeseburger doesn’t mean you’re smart. It means you’re a raccoon.


but but hivemind


They give an example in the blog post (mourning a pet cat).


That it’s not even an order of magnitude slower sounds actually pretty good!



cool, will it do anything about CEOs which earn 100x what a common employee earns, despite not outputting 100x?


Happily, yes. They will now earn 10,000x what a common employee earns while doing less than ever before.


In many (traditional) companies, a CEO's mistake can easily cause 100x more harm than an average worker's mistake.


That would be relevant if it was the CEO taking the risk but that is not really true in what feels like the vast majority of cases.


And when that happens, what happens to them?

There "risk" is to get a lot of "golden parachute" money to leave earlier than their contract says, as a maximum penalty. If there us actual money to pay the company or insurance does it for them.

.

The human network of processes, laws, culture, knowledge established over millennia, which enables those CEOs to be at the top of such valuable companies in the first place was built by billions over time. Those CEOs are not bette than others, or people of the past, they are the same humans. That they now move billions instead of having a small stone axe business for the local tribes is not of their making. They were lucky.

If you want to see someone really earning the hundred million with their own hard work, place them in the middle of nowhere, and with no access to the global human network that they did nothing whatsoever to construct because it was already there.

The value that CEOs and others grab for themselves is not of their making. They are able to have such huge businesses only because a human network in space (the current one) and time (handed forward over time, knowledge and processes and tools). They "deserve" the millions just as much as everybody else. They misuse their superior position in the network, since they sit in places where lots of value not of their own making is going through.

In addition to that, in many important cases they managed to catch all the upside, but let all the failures fall through to be caught be everybody else.

I have nothing whatsoever against true entrepreneurs. I know a few personally! But as you reach the billions, and the top management (instead of direct owners who actually suffer when the company fails to deliver), the justification for the incomes gets more tenuous IMO.

That is one of my big issues with the "Left" - here in Germany their new program includes getting rid of billionaires. It's too simple and too one-dimensional. The diversity of people in such high-value positions is huge, and there are many more dimensions! The left treat it like a one-dimensional scale, starting with a normal person that has a few dollars or Euros, and on that scale and idea of "money" they remain with their arguments. Instead, we have to look at the many many different things all that money actually stands for.

CEO income with their usually much reduced risk compared to owners should not be treated the same, for example and IMHO.


They output 100x more "people wanting to pay them money", that's why they are paid 100x. The same reason an American computer programmer is paid 100x more than an African coal miner in spite of doing much less work.


In many countries, lobbying is considered corruption. That it is legalized in the US alone, suggests to me that it actually exists more in the West.


Not Vietnam though...


Alternative title: How to cope with the stranglehold neoliberalism has on us.


> and there's consequence to mismanagemen

Except if you're a company so large that the government has no choice but to bail you out in a crisis.


Won't happen, as corporations themselves control the law.


Cynicism is a great way to ensure that nothing ever happens.


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

Search: