Why exactly does the BuildTool exist?

Discussion in 'Spigot Discussion' started by Bean900, Sep 28, 2018.

Thread Status:
Not open for further replies.
  1. Hello you
    I do not know if this is the right area for this thread, but I have not found a better area.
    Actually, I have only one simple question:
    Why exactly does the BuildTool exist?
    Why is there no platform from Spigot to download the most recent version or to integrate it directly via Maven or Gradle as lib?

    Thanks for helping ne :)
  2. If I recall correctly, it's simply a legal thing. The final Spigot jar contains the original Minecraft code. Nobody is allowed to redistribute the Minecraft code since that would be copyright infringement for them. For that, BuildTools exists, because that way, everyone can build the Spigot Jar (and thus get the original Minecraft code) locally. This is not considered redistributing and thus it's not copyright infringement. I'm sure someone else could explain better but if I recall correctly, that's the general idea of things.

    Edit: There are indeed these websites which you can use to download the Spigot/Bukkit Jar directly without using BuildTools, but those are officially seen illegal as they are redistributing the original MC code.
    • Like Like x 2
    • Winner Winner x 2
    • Like Like x 1
    • Agree Agree x 1
  3. MiniDigger


    because that would be a violations of mojangs eula. you can't redistribute the internal server, as such you can't redistribute anything that build upon the internal server.

    there are alternatives to buildtools tho that work more stable and faster, no clue why spigot still holds on to the current process.
    • Like Like x 1
  4. Mojang is not the killjoy here. It is true that Mojang reserves their rights on their software and therefore do not "allow" the redistribution of their source or byte code. However, Mojang has always tolerated the distribution of CraftBukkit and told the former Bukkit team personally that they have nothing against their work. The problem is that in 2014, one of the Bukkit developers felt scammed after hearing Mojang bought the code of several Bukkit contributors and felt the need to force Mojang to make their server software open source to finally get legal certainty. Since Mojang didn't react, the developer filed a DMCA takedown against their own project (yes, that's as stupid as it sounds) saying his rights were violated because the open source license of Bukkit does not allow it to be linked with Mojang's server. Since then, Spigot just doesn't distribute the server and Bukkit linked together anymore.
  5. MiniDigger


    the dmca isn't really the reason spigot doesnt distribute binaries. there was never a way to legally distribute binaries, the dmca just showed how important it is to actually follow licenses. don't forget that mojang owns the bukkit project, they could easily allow redistribution of the internal server as part of the bukkit project, but they don't do that.
    so yes, mojang is still the killjoy.
  6. how hard is it really though, to run 1 command from command line to build something
  7. MiniDigger


    run one command, watch it run for 5 min, see it fail randomly, clear the folder, run again, wait again....
    what if I told you that there are other bukkit based project that provide "binary" downloads that allow you to just run a jar and your server will start? it works by binary patching a cleanly downloaded minecraft server jar. its fast, its robost, its easy. non of these attributes are true for buildtools :shrug:
    • Informative Informative x 1
  8. It's a couple of minutes, not 5, .. and it's not failing for me?
    I don't find it hard to type the command.

    Funny how everybody on here is so "OMG YOU DONT EVEN HAVE GITHUB OMG", and "YOU ARE NOT COOL YOU CANT EVEN DL FROM GITHUB AND PATCH SOME SOURCE AND COMPILE IT", but it's an issue to run buildtools? ..

    I think it's a non-issue.

    [edit] btw
    #9 mrfloris, Sep 28, 2018
    Last edited: Sep 28, 2018
  9. That's based on the person. As long as you read the wiki page and have the required dependencies, it will run which from my knowledge it does fine and I don't think we should nor need to change any time soon. If it works, don't change it. 99% of the problems with BuildTools are from people not setting it up correctly or something. The other 1% are actual bugs which get patched (which is normal).
  10. Mojang doesn't "own the Bukkit project", they bought the source code that Dinnerbone and the others who joined them made. This has no influence on md_5's code, or everyone else's code in the Bukkit project. The contributors still own their code, but can - as they agreed - hardly at all influence how it is used due to the license. Even if Mojang said they'd allow usage of the Minecraft server in CraftBukkit, that would NOT be enough to allow its distribution. Only if Mojang licensed the server under a license that is compatible with the copyleft of the GNU GPLv3 license used for Bukkit (but not CraftBukkit), basically like the Glowstone project, Bukkit contributors couldn't stop its distribution.
    • Winner Winner x 1
  11. Sorry for going offtopic, but I have always found peace in your signature.
    • Friendly Friendly x 1
  12. MiniDigger


    You are wrong, they brought the project and the infrastructure, not the code. The code cant be brought. Not even sure if they own the name.

    I would describe myself as a very experienced user and I had build tools randomly fail many times back when I had to use it. Looking at how many users come to IRC with similar issues and how they always can be fixed by deleting and trying again I highly doubt that's a isolated problem.
    Not sure where I mentioned GitHub but I comment on the last part of that paragraph, yes, it's an issue for me to run buildtools when I know that there are more practical solutions.
    Those are not issues with the buildtools sources, those are issues with how buildtools works. It's just not stable. Nothing to do with setting it up wrong.
  13. Imagine the amount of people who do not go to irc to report that it went well for them when they run it..
  14. MiniDigger


    Well, that wasnt what I was talking about. I was just outlining that buildtools can randomly fail.
    Also, I have heard exactly one complaint about paperclip in discord or IRC and countless complaints about buildtools
    • Funny Funny x 1
  15. Open source code can be owned, solt and bought like any other code, that just doesn't change that it can be used under the terms of its license. The infrastructure of Bukkit was and is still owned by Curse, which is, correct me if I'm wrong, not affiliated to Mojang.
  16. it's very strange that if paper is so fantastic that @md_5 refuses to put the same patches etc inside Spigot, you'd think that benefits everybody?
    Meh, you guys know more about this than I do. immah stick to the spigot build, like i said, it's a couple minutes to run, and runs just fine .. small learning curve, and i have no issues with it failing, because i read the wiki and/or got support.. #community.
    • Funny Funny x 1
  17. https://bukkit.org/threads/mojang-and-the-bukkit-project.309715/
    "As Jeb announced on twitter, Mojang obtained rights in the project over 2 years ago. However they were effectively given to us when we hired the original team to work on Minecraft"
    Just a bit of FYI on the history of bukkit's website.
  18. Choco


    Ah, the sweet smell of legal discussions. Please refer to rule 10.2.

    BuildTools is the workaround for Mojang's EULA which states that the server jar cannot be distributed. The program downloads the vanilla server jar from Mojang's servers, decompiles it using a modified version of FernFlower, patches the decompiled source with CraftBukkit git patches and recompiles the final server jar. This is the only legal way to obtain the server jar. It is for this reason BuildTools exists.

    Thread locked.
    • Winner Winner x 1
    • Friendly Friendly x 1
    • Optimistic Optimistic x 1
Thread Status:
Not open for further replies.