Greetings, Sponge
As many of you have already witnessed, Sponge has indeed entered into a partership with the GranitePowered Team. Exactly what does this mean for Sponge as a whole? I’ll go into detail below.
FIrst off, what exactly is/was Granite?
Granite is the SpongeAPI implementation on top of the Vanilla (no modifications) Minecraft server. Its goal has always been to provide a lean server, free of any modifications (Forge/etc), that implements our plugin API.
Why did Sponge acquire their repo?
Implementing an API the size of SpongeAPI is a daunting task made even more so by the challenges that come with making a plugin API work with an existing piece of software (Minecraft itself). There are benefits for both SpongePowered and GranitePowered in joining forces.
How does Sponge benefit from a partnership with Granite?
I’m a firm believer in providing the power of choice. SpongeAPI has been written in such a way that it isn’t tied to any implementation: anyone is free to implement it in any type of project. Modular code is the future of software development and limiting choice to just a Forge Server + mod isn’t acceptable to me or many others. There are many people who have no desire to run a server with modifications (like Forge) or Forge itself (for whatever reason). SpongePowered wants to capture that audience. From a coding perspective, having Granite use the Mixin technology to implement the API means that both Sponge and Granite can share much of the same code.
How does Granite benefit?
The big benefit for Granite is support. In its previous existence as just “yet another Sponge project”, it didn’t have nearly the kind of support that is being poured into Sponge. By having it join the family, our great community of contributors will naturally come together and help turn Granite into the best Vanilla plugin implementation available.
Adding another project means more work. Won’t this put more strain on your team?
Not an invalid question. Candidly speaking, this is why we’ve held off on “pulling the trigger” in regards to this merger. There are a couple of things that we have going for us that lessens if not removes the additional workload:
- Due to the Mixin technology, Sponge and Granite will share a large percentage of the same code (probably 60-80%). The differences will come down to what Sponge uses of Forge’s that is provided and what Granite must write itself.
- Teaming up with Granite means that @AzureusNation, @Voltasalt, and @jckf join Sponge officially as Granite developers. They will continue to develop Granite with Sponge’s guidance.
- @minecrell and myself will assist with Granite and help whenever we can. Remember that @blood leads the Sponge Forge mod implementation. We’ll collaborate with him so both benefit.
I’m a developer and want to help out…but exactly WHO do I help out now?
Either, its really up to you. Remember, a lot of the code you write that implements the API can be shared with the sister project.
If there are any questions or comments, feel free to drop them below. We’ll also discuss Granite at length at our next State of Sponge and establish future plans at that time.