JBYoshi, Spongineer

July 9, 2017

I’ve been helping with a project called Sponge for some time. I have a few ways to describe it: If you’re a developer, Sponge is a community-built API for Minecraft. If you’re a Minecraft server owner, Sponge is a server mod and a spiritual successor to Bukkit/Craftbukkit. If you’re a general Minecraft player, Sponge is something that server owners use.

When I first got Minecraft, I set up a private minigame server for it. It started as vanilla with a few command blocks and a bunch of repeaters (probably several hundred). I eventually discovered the power of a server mod called Craftbukkit to trim down the number of repeaters and make everything more powerful by using actual code. Things were pretty stable for some time.

Then an interesting situation occurred in September 2014: Craftbukkit was bloodily murdered. First the developers tried to shut it down, but the Minecraft developers stepped in and saved the day (in the opinions of many server owners) - it owned Craftbukkit, and had done so for a long time. This began a long controversy that shook the entire community - one of the Craftbukkit developers got upset. He found a hole in the legal side of things and used it to shut down Bukkit, throwing the Minecraft community into chaos. I decided to cover this shaky state of things as a series of blog posts on my old, private blog.

In the research for my first post, I stumbled upon Sponge for the first time, and kept a careful watch. I got more and more interested, until June 20th, when I finally got a GitHub account. I submitted my first pull request two days later - SpongePowered/SpongeCommon#72 - and it was accepted three days after that. I was very excited about joining what I hoped would be a source of stability for years to come.

I continued contributing for some time, until I was contacted privately by @Zidane, one of the leaders of the Sponge project. It took some jumping through hoops, but I ended up being accepted as an official contributor. Technically, all you gain is access to a few new channels to contact them through; in practice, however, it means you become well-known among the internal Sponge team. (You can also get custom badges on the forums and, more recently, their Discord channel, though I never actually requested a forums badge.)

So well-known, in fact, that it seeped into their booth at Minecon 2016 back in November (of 2016, duh). I showed up and introduced myself to @Mumfrey as someone who had been following and contributing to the Sponge project for some time. He asked what my GitHub username was, and when I told him, it became instant access to being introduced to a bunch of the Sponge developers in person (plus some extra Sponge-related loot). Zidane even asked me if I wanted to become a core Sponge developer then. However, I was somewhat encumbered outside Minecon - specifically, a really tough AP Latin class, and couldn’t accept the responsibility at that time.

The other difficulty was that although I occasionally went on IRC, it was incredibly rare to see me on there. However, when I discovered the “official unofficial” SpongePowered Discord server, I joined immediately. To date, I’m pretty much online all the time. (I’ll blame that on my phone, which is usually connected to the Internet 24/7. However, I am on “Do Not Disturb” at night, and the Discord app doesn’t sync the DND settings, so I’m not always available even when I’m online.) That all changed when @Grinch set up a Discord-IRC bridge. Now the Discord server has reached the "official" status dropped the “unofficial” status, and I’m on IRC whenever I’m on Discord, disguised as the Spongie bot (it will indicate when it’s from me).

That opened the door that someone stepped through today. @gabizou DM’ed me about becoming a core developer, and I accepted. Becoming a core developer (as far as I’ve seen) gives you direct access to modify the repository without having to go through a pull request (though the developers sometimes do use pull requests), manage issues and pull requests, and access to more internal communication channels. It’s pretty cool. And I finally get the title of “Spongineer”.