from Hacker News

Ask HN: How does JetBrains protect their IDE Java source code?

by yi_xuan on 12/22/24, 4:04 PM with 21 comments

On linux, after I installed goland, I could see a lot of .jar file and .class file inside. I don't know, I can see all of the source code ?
  • by nulld3v on 12/22/24, 7:58 PM

    Nothing. No obfuscation either really. Heavy obfuscation could hurt performance, and light obfuscation can break reflection that might be used by plugins.

    There isn't much value in trying to protect their source code. IDEs are evolving rapidly in response to languages, any decompilation you prepare would be outdated immediately. And nearly all JVM programs can be trivially cracked anyways, even if heavily obfuscated/guarded.

  • by IshKebab on 12/22/24, 7:08 PM

    They probably use an obfuscator. Standard practice for Java which is otherwise relatively easy to decompile.

    Or they may not bother, because what are you going to do with that source code anyway? You don't need it to pirate the IDE, there's no secret sauce in there, and you obviously can't use it to make a competitor. There would be very little value in obtaining the code.

  • by thesuperbigfrog on 12/22/24, 5:04 PM

    .jar files are just specially packaged .zip files for distributing Java programs and libraries.

    .class files are Java bytecode.

    What source code files are you seeing?

    What are the filenames, etc.?

    JetBrains's IDE source code would likely be Kotlin (.kt, .kts file extension) or Java (.java file extension) source code files.

  • by rickette on 12/22/24, 9:39 PM

    They protect their source code by releasing awesome products that developers happily pay for (I do).
  • by not_your_vase on 12/22/24, 5:07 PM

    You mean that you have opened the class file, and saw the actual source code? Class file is supposed to be object-code (or whatever java calls that) - which can be decompiled (and sometimes even in a meaningful way), but generally it is not supposed to be the source itself...

    (I just downloaded goland, and extracted a random jar file, and at least with that, the above paragraph seems to stand)

  • by Tomte on 12/22/24, 4:38 PM

    Most of it is Open Source and on GitHub, anyway. So you shouldn‘t be surprised to see source code.

    The Community edition lacks certain features, though.

  • by popoxdev on 12/24/24, 8:56 AM

    I don't think they see this as a problem. If people really want to decompile the code they could. Most of it is open source already and the codebase is very large to make any competing product out of it.
  • by uncomplexity_ on 12/23/24, 4:20 AM

    it's a lost cause. the people who want to pirate it will always find a way to circumvent efforts against it. better to spend efforts for people who pay than people who dont pay. better features for those who pay, instead of obfuscation for those who cant pay.

    this is also good for those who cant pay, some of them are students or professionals who just simply dont have the budget yet.

  • by softwaredoug on 12/23/24, 6:57 PM

    People overvalue source code and undervalue the institutional knowledge it represents.