<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gaming</title><link>https://jwheel.org/tags/gaming/</link><description>Homepage of Justin Wheeler, an Open Source contributor and Free Software advocate from Georgia, USA.</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Justin Wheeler</managingEditor><lastBuildDate>Mon, 07 Feb 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/tags/gaming/index.xml" rel="self" type="application/rss+xml"/><item><title>CrystalCraftMC forums sunset</title><link>https://jwheel.org/blog/2022/02/crystalcraftmc-forums-sunset/</link><pubDate>Mon, 07 Feb 2022 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2022/02/crystalcraftmc-forums-sunset/</guid><description><![CDATA[<p>It is with a sad heart that I share that the <code>crystalcraftmc.com</code> forums are permanently retired as of 6 February 2022. Nearly ten years ago, in August 2012, I founded a Minecraft multiplayer game server. It would eventually become known as CrystalCraftMC. I <a href="https://web.archive.org/web/20210103155344/https://crystalcraftmc.com/?page=2">passed the torch</a> for the game server in April 2018. CrystalCraftMC got a second life from the dedicated player community until December 2018 when it was <a href="https://web.archive.org/web/20210614054749/https://crystalcraftmc.com/threads/survival-and-creative-world-downloads-now-available.2708/">shuttered for good</a>. Today&rsquo;s news is sad to me as it marks the official end of the online presence of CrystalCraftMC after nearly a decade.</p>
<p>If you are missing the memories, you can still find a good part of the forums archived via the Internet Archive&rsquo;s Wayback Machine. Click <strong><a href="https://web.archive.org/web/20211229160232/https://crystalcraftmc.com/">here</a></strong> to navigate to the last snapshot of the official forums. You can also find downloads of the survival and creative Minecraft worlds below:</p>
<ul>
<li>
<p>Creative world: <strong><a href="https://drive.proton.me/urls/B43RXQD9XC#dvddVplG0RcX">2015 Nov. 2 backup</a></strong> (~29MB)</p>
</li>
<li>
<p>Survival world: <strong><a href="https://drive.proton.me/urls/07P658D4J4#pLN3umpCGcwQ">2018 Sept. 22 backup</a></strong> (~43.6GB)</p>
</li>
<li>
<p>Survival world: <strong><a href="https://drive.proton.me/urls/WBA2ZZKX1G#SGvUqnavxnjO">2018 Dec. 3 backup</a></strong> (~44.1GB)</p>
</li>
</ul>

<h2 id="history-of-the-crystalcraftmc-forums">History of the CrystalCraftMC forums&nbsp;<a class="hanchor" href="#history-of-the-crystalcraftmc-forums" aria-label="Anchor link for: History of the CrystalCraftMC forums">🔗</a></h2>
<p>Since December 2013, I maintained the CrystalCraftMC forums on my own infrastructure and dime. Even after I passed the torch in April 2018, I continued to maintain and manage the forums. When the game server finally closed in December 2018, I continued to keep the forums alive as a novelty for past players. For me, whenever I felt nostalgic, the forums always gave me a place to remember good friends and memories from that era of my life.</p>
<p>If you are one of the few original folks who kept up with CrystalCraftMC in its lifetime, you may remember we used a different forum at one point, hosted by Enjin. Those forums are (miraculously) still alive, and you can still find them! Visit <em><a href="http://old.crystalcraftmc.com">old.crystalcraftmc.com</a></em> to get a nostalgia trip on the oldest memories of our Minecraft community.</p>

<h2 id="why-the-forums-closed">Why the forums closed&nbsp;<a class="hanchor" href="#why-the-forums-closed" aria-label="Anchor link for: Why the forums closed">🔗</a></h2>
<p>The forum software behind <code>crystalcraftmc.com</code> was called <a href="https://xenforo.com/">XenForo</a>. We used the 1.x versions of XenForo. XenForo was a great fit for us when CrystalCraftMC was in full swing, but the forums fell behind on updates. The forums eventually stopped receiving maintenance and security updates for XenForo 1.x when <a href="https://xenforo.com/community/threads/xenforo-2-0-0-add-ons-released.137930/">XenForo 2.0.0 was released</a>. Since I never renewed our license and didn&rsquo;t have time to complete the complicated upgrade, the CrystalCraftMC forums remained on XenForo 1.x.</p>
<p>This month, I took on a project to reduce the costs of my personal infrastructure. The total cost to run the CrystalCraftMC forums was &gt;$200 USD every month. I hoped to reduce the cost to less than $50 USD every month. My goal was to migrate the database for the forums to a competitive and more affordable hosting service. However, during the migration, I discovered that XenForo 1.x did not support newer versions of the MySQL database software. I would need to continue paying my bill for a hosting service that supported the legacy version of the database used by the CrystalCraftMC forums.</p>
<p>After careful consideration, I decided ten years was a good run and it was time to finally close things down. It was not the outcome I wanted, but it was what had to be done. Nevertheless, I took a final &ldquo;snapshot&rdquo; of the forums and database. I retained a final copy, and perhaps one day in the future, I may choose to put a read-only copy online again. But for now, the forums will remain offline until further notice.</p>
<p>(<em>This also doesn&rsquo;t even note the <strong>hundreds</strong> of spam, scam, and porn emails I received every day because of the contact form on the website not having a captcha form to stop spambots!</em>)</p>

<h2 id="what-now-for-crystalcraftmc">What now for CrystalCraftMC?&nbsp;<a class="hanchor" href="#what-now-for-crystalcraftmc" aria-label="Anchor link for: What now for CrystalCraftMC?">🔗</a></h2>
<p>I will continue to pay for the domain names of <code>crystalcraftmc.com</code> and <code>ccmc.pw</code>. Both domains will now redirect to this blog post, which might be how you ended up here. But otherwise, there are no more public archives of CrystalCraftMC other than our memories, YouTube &ldquo;Let&rsquo;s Plays&rdquo; and <a href="https://www.youtube.com/c/EchophoxGaming/playlists">Echophox video series</a>, and the <a href="http://old.crystalcraftmc.com">super-old forums</a>. This is the end of the road for CrystalCraftMC.</p>
<p>To all the players and the CrystalCraftMC community, you will always have a special place in my heart. CrystalCraftMC was one of these incredible things that happened to me in my life, especially when so many things in my life were honestly upside-down. I wish you all the best and hope you all also have fond memories of building spawn points, running drop parties, building amazing forts and bases (while hoping they don&rsquo;t get raided), and hanging out with other folks who ended up becoming close friends.</p>
<p>Long live CrystalCraftMC.</p>
<hr>
<p><em>Photo by <a href="https://unsplash.com/@jplenio?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Johannes Plenio</a> on <a href="https://unsplash.com/s/photos/sunset?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>. Modified by Justin Wheeler.</em></p>]]></description></item><item><title>The day open source died: a story about Minecraft, Bukkit, and the GPL</title><link>https://jwheel.org/blog/2020/04/open-source-minecraft-bukkit-gpl/</link><pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/04/open-source-minecraft-bukkit-gpl/</guid><description><![CDATA[<p>Once upon a time, when I was a teenager, I volunteered in the Minecraft open source community. I volunteered as a staff member of the largest open source Minecraft server today, called <a href="https://www.spigotmc.org/wiki/about-spigot/">Spigot</a>. Spigot is a fork of the Bukkit project.</p>
<p>This blog post is a story roughly covering 2010 to 2014 on the meaning, values, and promise of open source. This story impacted a community of hundreds of thousands of people, mostly adolescent children, teenagers, and young adults. It is a tale about the simultaneous success and failure of the GNU Public License (GPL).</p>

<h2 id="from-the-beginning-bukkit-minecraft-and-the-gpl">From the beginning: Bukkit, Minecraft, and the GPL&nbsp;<a class="hanchor" href="#from-the-beginning-bukkit-minecraft-and-the-gpl" aria-label="Anchor link for: From the beginning: Bukkit, Minecraft, and the GPL">🔗</a></h2>
<p>In the beginning, in December 2010, there was <strong>Bukkit</strong>.</p>
<p>
<figure>
  <img src="/blog/2020/03/bukkit-logo.png" alt="Bukkit Project logo" loading="lazy">
</figure>
</p>
<blockquote>
<p>Bukkit is an up-and-coming Minecraft Server mod that will completely change how running and modifying a Minecraft server is done - making managing and creating servers easier and providing more flexibility. Learning from the mistakes made by other mods, Bukkit aims to be different and fill the void left by them: built from the ground up we&rsquo;ve focused on performance, ease-of-use, extreme customisability and better communication between the Team and, you, our users. The overall design of Bukkit has been inspired by other mods and our experience as Minecraft players just like yourselves, giving us a unique perspective and advantage going into the creation of the Bukkit Project.</p>
<p><a href="https://web.archive.org/web/20141211115250/https://bukkit.org/pages/about-us/">About Us</a>, Bukkit.org</p>
</blockquote>
<p>Bukkit was an open source server for Minecraft. It provided an API for developers to create plugins that extended Minecraft in unique and fun ways. While Bukkit was not the first open source Minecraft server, it was the first organized project. Bukkit launched with the GNU Public License (GPL) v3 license.</p>
<p>From 2011 to 2014, Bukkit was the de-facto standard for running a Minecraft multiplayer game server. Over time, more Bukkit servers (and derivatives) were used than the official server software distributed by Mojang. Mojang is the company responsible for Minecraft development.</p>

<h3 id="hard-work-on-bukkit-recognized">Hard work on Bukkit recognized&nbsp;<a class="hanchor" href="#hard-work-on-bukkit-recognized" aria-label="Anchor link for: Hard work on Bukkit recognized">🔗</a></h3>
<p>The project&rsquo;s success was also recognized by Mojang too. At the first-ever Minecraft convention in 2011, MINECON, four Bukkit lead developers were hired by Mojang to work on Minecraft. All but one of the hired employees then departed from Bukkit. That one developer who remained active in Bukkit would depart from Mojang mysteriously in 2013.</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Had a great time working for Mojang but it&#39;s time for me to pursue other interests. As of yesterday, I am no longer working for Mojang.</p>&mdash; EvilSeph (@EvilSeph) <a href="https://twitter.com/EvilSeph/status/385537792794959872?ref_src=twsrc%5Etfw">October 2, 2013</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>However, there was always one caveat. Bukkit was an open source project licensed under the GPLv3. However, it also reverse-engineered some parts of the Minecraft game code to build its server code and API. This was never a problem for Bukkit or Mojang:</p>
<blockquote>
<p>&ldquo;When we started up Bukkit in December of 2010, we decided we wanted to do things right. Right from the beginning we wanted to be sure we were bringing about a positive change to Minecraft, one that Mojang themselves would approve of. To that end, we set up a meeting with Mojang to get a feel for their opinions on our project and make sure we weren&rsquo;t doing anything they didn&rsquo;t like. The gist of the meeting was that Mojang &ldquo;liked what we were doing&rdquo; but not how we had to go about doing things. Unfortunately, we both knew that we had no alternatives, so we continued along - albeit now with the reassurance that our project would most likely not be shut down any time in the future.&rdquo;</p>
<p>EvilSeph (Warren Loo), &ldquo;<a href="https://web.archive.org/web/20150112163638/https://bukkit.org/threads/bukkit-the-next-chapter.62489/">Bukkit: The Next Chapter</a>&rdquo;</p>
</blockquote>
<p>Nobody ever raised a copyright issue over the reverse-engineered code from Minecraft in Bukkit. Yet, for years, the GPL code released by Bukkit included bits from official Minecraft code.</p>

<h2 id="act-1-the-minecraft-eula">Act 1: The Minecraft EULA&nbsp;<a class="hanchor" href="#act-1-the-minecraft-eula" aria-label="Anchor link for: Act 1: The Minecraft EULA">🔗</a></h2>
<p><em>An alternative perspective on the Minecraft EULA is in this Guardian article. &ldquo;<a href="https://www.theguardian.com/technology/2014/jun/24/minecraft-how-a-change-to-the-rules-is-tearing-the-community-apart">Minecraft: how a change to the rules is tearing the community apart.</a>&rdquo;</em></p>
<hr>
<p>All was fine for a number of years. Bukkit was a volunteer-led project even after some of its core developers were hired to work at Mojang. However, in 2014, unrelated tension started to grow in the Minecraft community.</p>
<p>The tension was about the language used in Minecraft&rsquo;s End User License Agreement (EULA). The EULA used ambiguous language over the monetization of Minecraft multiplayer servers:</p>
<blockquote>
<p>&ldquo;The one major rule is that you must not distribute anything we‘ve made. By “distribute anything we‘ve made” what we mean is “give copies of the game away, make commercial use of, try to make money from, or let other people get access to our game and its parts in a way that is unfair or unreasonable&rdquo;.&quot;</p>
<p>2014: <a href="https://web.archive.org/web/20140706191831/https://account.mojang.com/documents/minecraft_eula">account.mojang.com/documents/minecraft_eula</a></p>
</blockquote>
<p>While many open source projects flourished around Minecraft, a huge game server industry also co-existed in this ecosystem. Multiplayer server owners running Bukkit (or derivative projects, like Spigot) created web stores for their servers. Players paid real money to buy in-game perks for a specific multiplayer server. Using open source plugins, players paid for things like item packages with diamond swords or virtual currency to spend in-game.</p>
<p>This behavior was allowed to flourish for years. However, the EULA was discreetly edited in December 2013. In mid-2014, someone in the community noticed the changed language. They tweeted and tagged a Mojang employee asking if this meant multiplayer servers had to stop selling in-game items for real money. In as much detail that a 2014 tweet with a 140-character limit allowed, the Mojang employee confirmed the EULA language did technically forbid that.</p>

<h3 id="panic-in-the-bukkit-server">Panic! In The Bukkit Server&nbsp;<a class="hanchor" href="#panic-in-the-bukkit-server" aria-label="Anchor link for: Panic! In The Bukkit Server">🔗</a></h3>
<p>&ldquo;<em>Then, everything changed when the Fire Nation attacked.</em>&rdquo;</p>
<p>The community erupted into chaos. Suddenly, a community that had mostly co-existed peacefully was at a virtual war with each other. The situation was understandable from both ends, if for different reasons.</p>
<p>Anyone could start their own multiplayer server. So it was possible for malicious servers to scam players (usually young children) of money. Usually this happened by failing to deliver on the purchases or closing down after a period. Frequently, Mojang was contacted for help (usually by angry parents) about game servers Mojang did not control.</p>
<p>At the same time, many good people built (probably unwise) business models around the permissive nature of Minecraft intellectual property. The open source software made it easy to extend Minecraft in ways Mojang did not intend.</p>

<h2 id="act-2-the-bukkit-cards-are-revealed">Act 2: The Bukkit cards are revealed&nbsp;<a class="hanchor" href="#act-2-the-bukkit-cards-are-revealed" aria-label="Anchor link for: Act 2: The Bukkit cards are revealed">🔗</a></h2>
<p>Tension was already high between the the trinity of business owners, open source developers, and Mojang. By 2014, Mojang was a multi-million dollar company (even before their multi-billion Microsoft buyout). The EULA tension placed a heavy burden on the open source developers, who received pressure from both ends.</p>
<p>Then, the unexpected happened on August 21st, 2014. The Bukkit project lead, Warren Loo (EvilSeph), announced the end of development on the Bukkit project:</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">.<a href="https://twitter.com/CraftBukkit?ref_src=twsrc%5Etfw">@CraftBukkit</a>: It&#39;s time to say goodbye - <a href="http://t.co/LRG2uiMbDe">http://t.co/LRG2uiMbDe</a></p>&mdash; EvilSeph (@EvilSeph) <a href="https://twitter.com/EvilSeph/status/502360729803317248?ref_src=twsrc%5Etfw">August 21, 2014</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote>
<p>Read the <a href="https://web.archive.org/web/20151105173217/https://bukkit.org/threads/bukkit-its-time-to-say.305106/">full announcement</a> from Bukkit team</p>
</blockquote>

<h3 id="bukkit-gets-owned">Bukkit gets &ldquo;owned&rdquo;&nbsp;<a class="hanchor" href="#bukkit-gets-owned" aria-label="Anchor link for: Bukkit gets &ldquo;owned&rdquo;">🔗</a></h3>
<p>This was sad news. But the real shock came an hour later when the lead developer of Minecraft at Mojang shot back on Twitter:</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Warren over at bukkit seems to have forgotten that the project was bought by Mojang over two years ago, and isn&#39;t his to discontinue.</p>&mdash; Jens Bergensten (@jeb_) <a href="https://twitter.com/jeb_/status/502380018216206336?ref_src=twsrc%5Etfw">August 21, 2014</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>Two other former Bukkit developers working at Mojang chimed in too:</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">We took ownership of the Bukkit github repos &amp; project. We&#39;ll see what happens from here.</p>&mdash; Erik Broes (@_grum) <a href="https://twitter.com/_grum/status/502381523241144320?ref_src=twsrc%5Etfw">August 21, 2014</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">To make this clear: Mojang owns Bukkit. I&#39;m personally going to update Bukkit to 1.8 myself. Bukkit IS NOT and WILL NOT BE the official API.</p>&mdash; Nathan Adams (@Dinnerbone) <a href="https://twitter.com/Dinnerbone/status/502389963606867968?ref_src=twsrc%5Etfw">August 21, 2014</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>It was now revealed that the Bukkit open source developers hired by Mojang in 2011 had given up their personal copyright and rights to their open source contributions as part of their employment contracts. The open source developer and business owner communities both learned this abruptly over a 140-character tweet.</p>
<p>The community was confused, upset, and angry.</p>
<blockquote>
<p>&ldquo;The decision to keep the acquisition of the Bukkit codebase a secret was made between Mojang and Curse, which only recently came to light. I was completely unaware that I had spent the last two years of my life as a Bukkit Administrator, and successor to the project lead, under the illusion that the project was independently ran. Had I known back then perhaps my choice would have been different, perhaps not. It’s easy to speculate on what might have been, but unless faced head on with the choice, the decision is not always clear.&rdquo;</p>
<p>TnT, &ldquo;<a href="https://web.archive.org/web/20150215082334/https://bukkit.org/threads/so-long-and-thanks-for-all-the-fish.305350/">So long, and thanks for all the fish</a>&rdquo;</p>
</blockquote>
<p>What is known now was that for about three years, the volunteer-driven open source project was &ldquo;owned&rdquo; by company valued for millions of dollars that did little to support the open source project that helped build a community around the game. The only visible contribution made by Mojang to Bukkit was the explicit permission to continue their endeavor in the legal gray area.</p>

<h2 id="act-3-dmca-take-down-of-bukkit">Act 3: DMCA take-down of Bukkit&nbsp;<a class="hanchor" href="#act-3-dmca-take-down-of-bukkit" aria-label="Anchor link for: Act 3: DMCA take-down of Bukkit">🔗</a></h2>
<p>On September 5th, 2014, a lead developer not hired by Mojang, who had contributed over 15,000 lines of code to the project, invoked a <a href="https://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act">Digital Millennium Copyright Act</a> (DMCA) take-down on all of <a href="https://github.com/github/dmca/blob/master/2014/2014-09-05-CraftBukkit.md">his personal contributions</a> to the project (and all derivative projects). <strong>In a day, all the source code for a project used ~3x more than Mojang&rsquo;s official server software disappeared from the Internet</strong>.</p>
<p>It is easy to understand why this lead developer did what he did. To find out the last few years of your life spent volunteering on a game project that was secretly owned by a multi-million dollar company is a shattering experience. It&rsquo;s essentially free labor. But at the same time, this was a project used by hundreds of thousands of people around the world. It was more than a project; it was also a community.</p>
<p>One of the lead developers of Bukkit said this of the project in their <a href="https://web.archive.org/web/20161213172659/https://bukkit.org/threads/bukkit-an-autobiography.310083/">resignation letter to the community</a>:</p>
<blockquote>
<p>&ldquo;The Bukkit Project is so much more than CraftBukkit, getting updates out and providing API. It&rsquo;s about giving the community a place where they feel welcomed and can program to their hearts&rsquo; content with the use of our product. The Bukkit API gave people the ability to change the behavior of Minecraft, but it would have meant nothing without the contributions from the plugin developers in the community.&rdquo;</p>
<p><a href="https://bukkit.org/members/feildmaster.82116/">feildmaster</a></p>
</blockquote>
<p>The DMCA take-down wasn&rsquo;t just a take-down of the software; it also was a take-down of a community. The overnight disappearance of Bukkit left a huge power vacuum full of bitterness, personal harassment, and doxing. (Don&rsquo;t forget this was also the era of <a href="https://en.wikipedia.org/wiki/Gamergate_controversy">#GamerGate</a>.)</p>

<h2 id="who-was-this-community">Who was this community?&nbsp;<a class="hanchor" href="#who-was-this-community" aria-label="Anchor link for: Who was this community?">🔗</a></h2>
<p>The project I participated with, Spigot, was a fork of Bukkit created in 2012. Like Bukkit, Spigot was also hit by the DMCA take-down, although the Spigot team worked out a clever legal workaround to continue development.</p>
<p>A huge plugin community and third-party software around Bukkit&rsquo;s API grew around both Bukkit and Spigot. The unusual thing was, with few exceptions, most of the leaders of these communities were young adults in their 20s, teenagers, or even 11 year old kids. Open source wasn&rsquo;t a strongly understood concept in this community. <strong>It was just what everyone did</strong>. The messaging around licensing was <a href="https://www.spigotmc.org/threads/the-most-important-part-of-your-project-might-not-even-be-a-line-of-code.121682/">not always great</a>, but working in the open was the nature of how this gaming community operated.</p>

<h3 id="the-spirit-of-open-source-died">The spirit of open source died&nbsp;<a class="hanchor" href="#the-spirit-of-open-source-died" aria-label="Anchor link for: The spirit of open source died">🔗</a></h3>
<p>For this community, the promise and glory of open source died. For years, the Bukkit developer team shared their belief in open source with the community:</p>
<blockquote>
<p>&ldquo;Bukkit chose to go the open source route with our API for several reasons. Not only is open source awesome, but we knew that there were many talented individuals within the Minecraft community that could help us evolve, mature and grow our project much faster than we could have ever dreamed on our own.&rdquo;</p>
<p>EvilSeph (Warren Loo), &ldquo;<a href="https://web.archive.org/web/20150308122118/https://bukkit.org/threads/bukkit-project-changes-and-improvements.133798/">Bukkit Project Changes and Improvements</a>&rdquo;</p>
</blockquote>
<p>But with the complications of a project doomed to failure under the GPL that never should have been, combined with the hidden secret of ownership and DMCA take-down of open source code, the promise of open source both helped and failed this community.</p>

<h3 id="who-was-right-who-was-wrong">Who was right? Who was wrong?&nbsp;<a class="hanchor" href="#who-was-right-who-was-wrong" aria-label="Anchor link for: Who was right? Who was wrong?">🔗</a></h3>
<p>On one hand, the lead developer who issued the DMCA take-down was able to vent the frustration faced by those who discovered their secret &ldquo;free labor&rdquo; agreement with Mojang (at a great personal cost, as he was harassed, stalked, and received death threats). On the other hand, the collective community faced the end of an era brought about extraordinary circumstances that actually voided the GPL as a valid license:</p>
<blockquote>
<p>&ldquo;A license is a contract. There are many reasons why a contract would be void, and many conditions that make a contract invalid from the get-go. One such condition is being “tricked” into the agreement, which would include agreeing to work on a project under false pretenses. As stated above, an open source project being secretly purchased by a company, in hopes to have that company’s game be improved through it, is as close to a loophole for free labor as you will find. Free labor was outlawed in this country a while ago. We had a whole war about it.&rdquo;</p>
<p>/u/VideoGameAttorney, &ldquo;<a href="https://www.reddit.com/r/Minecraft/comments/2fk5nn/my_response_to_vubui_mojang_and_the_hundreds_yes/">My Response to Vubui, Mojang, and the hundreds (yes, hundreds) of you who asked me to weigh in on this.</a>&rdquo;</p>
</blockquote>
<p>The only conclusion I can muster on this saga is from that same Reddit thread: &ldquo;<em>But at the end of the day, don’t just believe one side is “good” and the other “bad” here. These things are rarely so simple.</em>&rdquo;</p>

<h2 id="why-did-i-write-this">Why did I write this?&nbsp;<a class="hanchor" href="#why-did-i-write-this" aria-label="Anchor link for: Why did I write this?">🔗</a></h2>
<p>Because I keep coming back to this story, across my life. I was writing an event report about a <a href="https://jwfblog.wpenginepowered.com/2020/04/copyleftconf-2020-quick-rewind/">copyleft licensing conference</a> I went to <a href="https://jwfblog.wpenginepowered.com/tag/2020-foss-conferences/">in February 2020</a>, when I recapped this same story to someone there in-person. It wasn&rsquo;t the first time I told this story at a conference though. It&rsquo;s such an interesting case study of copyleft licensing.</p>
<p>Because it is in the open source gaming world and the largest demographic of this particular gaming community is under 30 years old, many folks who have been &ldquo;around the block&rdquo; in open source are unaware of this story.</p>
<p>But as my first open source community and also something I invested nearly a whole decade of my life into (as have countless others), this experience shaped my outlook on open source and community in an unusual way. It&rsquo;s an experience I can&rsquo;t forget. Even if I only have an abrupt ending to this story, it&rsquo;s a story that I think deserves to be told, in respect to those who invested far more time, energy, money, and tears in this than I ever have.</p>]]></description></item><item><title>Essay response: Interlocking role of media</title><link>https://jwheel.org/blog/2020/03/essay-response-interlocking-role-of-media/</link><pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/03/essay-response-interlocking-role-of-media/</guid><description><![CDATA[<p>This blog post is an essay response from a class I took at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, WGST-357: <strong>Communication, Gender, and Media</strong>. This course was taught by <a href="https://www.rit.edu/directory/nsggpt-nickesia-gordon">Dr. Nickesia Gordon</a>. The essay prompt encouraged us to reflect broadly on the role of media in society. I liked my response and wanted to re-share it on my blog.</p>
<p><em>(Dr. Gordon, if you find this: I hope you don&rsquo;t mind, I mean the best!)</em></p>

<h4 id="what-are-some-ways-in-which-media-interlocks-with-other-institutions-what-does-this-interlocking-suggest-about-the-role-of-media-in-society">What are some ways in which media interlocks with other institutions? What does this interlocking suggest about the role of media in society?&nbsp;<a class="hanchor" href="#what-are-some-ways-in-which-media-interlocks-with-other-institutions-what-does-this-interlocking-suggest-about-the-role-of-media-in-society" aria-label="Anchor link for: What are some ways in which media interlocks with other institutions? What does this interlocking suggest about the role of media in society?">🔗</a></h4>
<p>Media is a fundamental aspect to other institutions, if media is considered a form of communication. Media is defined broadly: pictures, videos, interactive content, games, social media, and journalism, to name a few. Media interlocks with other institutions as a tool that fits into other categories of work, in an intersectional way.</p>
<p>To use social media as an example, the government of Iran is an example of how a totalitarian institution manipulates media to influence popular opinion and perspective, and also to drown out voices of activists and those fighting for social justice. The Washington Post is a newspaper owned by the world&rsquo;s wealthiest man, who also runs one of the companies that wields increasing reach over many aspects of our digital life. The relationship of media institutions as reliable and trustworthy platforms of information and perspective is jeopardized by the corrupting role of power, often in the form of money and capital.</p>
<p>Identifying how the role of media is influenced by power is a vital skill to be a consumer of information in the 21st century. At an unprecedented rate, we consume information more than any other generation before us. The availability of information at our fingertips on the Internet and the advent of ephemeral media requires us to process more information than our brains can handle. In lieu of a surplus of media, content, and information, it is important to be able to question our media, its motives, and to understand biases that may be at play to persuade us to view a topic or issue a particular way.</p>
<p><em>Justin Wheeler (Dec. 13, 2019)</em></p>]]></description></item><item><title>Hatchit puts open source power in developers' hands</title><link>https://jwheel.org/blog/2016/11/hatchit-puts-open-source-power-developers-hands/</link><pubDate>Thu, 03 Nov 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/11/hatchit-puts-open-source-power-developers-hands/</guid><description><![CDATA[<p><a href="https://opensource.com/life/16/10/hatchit"><em>This post was originally published on OpenSource.com.</em></a></p>
<hr>
<p>More and more students are learning about the world of open source through video games. Games like <a href="http://www.freeciv.org/">FreeCiv</a> let players build empires based on the history of human civilization while games like <a href="http://www.minetest.net/">Minetest</a> emulates Minecraft in an open source block-building sandbox. Students are encouraged to dig deeper into games like this, and projects like <a href="https://www.spigotmc.org">SpigotMC</a> empower kids to write plugins to extend their favorite games. However, the tools in open source to build the actual games do not share the same prominence. <a href="https://www.rit.edu/">Rochester Institute of Technology</a> student <a href="https://github.com/MattGuerrette">Matt Guerrette</a> hopes to help change that with his open source gaming engine, <a href="https://github.com/thirddegree/Hatchit">Hatchit</a>.</p>

<h2 id="introducing-hatchit">Introducing Hatchit&nbsp;<a class="hanchor" href="#introducing-hatchit" aria-label="Anchor link for: Introducing Hatchit">🔗</a></h2>
<p>Hatchit was a project started between <a href="https://github.com/MattGuerrette">Matt Guerrette</a> and fellow student <a href="https://github.com/Honeybunch">Arsen Tufankjian</a> together in February 2016. After working with game engines for other classes, they both found challenges over how popular game engines are designed for developers. They noted that these game engines were more design-oriented. It lacked some technical details they were looking for when working on their own personal or academic projects. Together, they had the idea to build their own open source gaming engine with a goal of exposing more of the technical sides of the process to developers. &ldquo;We want to give you more access to the programming side of the game engine,&rdquo; Matt explains.</p>
<p>Hatchit is written in C/C++ and licensed in a mix between GPL and LGPL. Originally, the project was started to take advantage of the <a href="https://en.wikipedia.org/wiki/DirectX">DirectX</a> APIs for development. However, Guerrette and Tufankjian ran into an unexpected event while they were getting started. Nvidia released the <a href="https://developer.nvidia.com/Vulkan">Vulkan</a> APIs in competition to the DirectX APIs. Originally, they had attempted to support both APIs simultaneously, but later opted to focus on Vulkan.</p>

<h4 id="inspiration-for-hatchit">Inspiration for Hatchit&nbsp;<a class="hanchor" href="#inspiration-for-hatchit" aria-label="Anchor link for: Inspiration for Hatchit">🔗</a></h4>
<p>Guerrette remembers a specific type of task he wanted to accomplish with Hatchit. In the game editor, he wanted to be able to construct a render pass instead of having the engine handle it internally. An earlier project had motivated the need for this feature. By being able to create the render passes in real time, a developer would be able to create something like a custom shader that bends vertices into straight, geometric shapes in real-time. His earlier project, Mineshaft Mayhem, demonstrates this concept with how the mineshaft seems to be warping and turning, but the tunnels are actually straight in the editor.</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/tzLMCVoDDGs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>You can find more videos of Guerrette&rsquo;s work on his <a href="https://www.youtube.com/channel/UC5HDOa8-y1loj3SUm4Zxzyw">YouTube channel</a>.</p>

<h2 id="whats-happening-now">What&rsquo;s happening now&nbsp;<a class="hanchor" href="#whats-happening-now" aria-label="Anchor link for: What&rsquo;s happening now">🔗</a></h2>
<p>Since starting the project, Tufankjian graduated and is now working at Amazon Game Design. Over the summer, the community started to show interest in the project. They&rsquo;ve received a pull request from one member outside of the core developer team and have several issues filed against the <a href="https://github.com/thirddegree">different repositories</a> for the engine.</p>
<p>Matt has a few milestones set ahead for the project this year. One of the biggest tasks he is working on is getting the Vulkan renderer multi-threaded design implemented and working. This vastly speeds up the render time when working on projects and is also proving one of the greatest challenges so far. In addition to the multi-threaded design, he hopes to have game objects and components serialized with JSON. This would make it easier for the editor application to modify game data and manipulate configurations with <a href="https://en.wikipedia.org/wiki/Qt_%5C%28software%5C%29">Qt</a>.</p>

<h2 id="looking-at-foss-and-hatchit">Looking at FOSS and Hatchit&nbsp;<a class="hanchor" href="#looking-at-foss-and-hatchit" aria-label="Anchor link for: Looking at FOSS and Hatchit">🔗</a></h2>
<p>Guerrette is not unfamiliar with open source, but this is his largest undertaking yet with an open source project. While working on the project, using an open source development model has made it easier to receive feedback, work with community contributors outside of the RIT community, and also handle some technical aspects well.</p>

<h4 id="benefits-of-working-in-the-open">Benefits of working in the open&nbsp;<a class="hanchor" href="#benefits-of-working-in-the-open" aria-label="Anchor link for: Benefits of working in the open">🔗</a></h4>
<p>Working on the project on GitHub has proved to benefit the project in a variety of ways. One of the most clear ways this helped is having people file issues and raise concerns over parts of the code. In one case, someone filed an issue against an older library that made a mathematical error in its calculations. &ldquo;Having the world&rsquo;s eyes on your project to catch errors is a good thing,&rdquo; Matt said. Guerrette found the freedom to use other open source libraries and dependencies for the engine especially useful. All the licenses were compatible and presented no issue to work with.</p>
<p>Some technical challenges were also made easier with open source tooling. One of the greatest challenges for the Hatchit team was writing the build system to use build system generator software and maintain compatibility with both Windows and Linux. Locally linking dependencies in the project was inconvenient and made the project unnecessarily huge. With git, they used submodules to link dependencies in the repository and build them from source when compiling Hatchit. &ldquo;Being able to link dependency repositories has been really useful, especially for developing on Windows,&rdquo; Matt found. Additionally, some of the continuous integration features on GitHub and other services made it easy to quickly test new changes for compatibility.</p>

<h4 id="challenges-of-open-source">Challenges of open source&nbsp;<a class="hanchor" href="#challenges-of-open-source" aria-label="Anchor link for: Challenges of open source">🔗</a></h4>
<p>Along the way, some challenges came by developing in the open that the team worked to resolve. With the convenience of using git submodules also came a difficulty of tracking upstream changes. On occasion, a dependency might break in the project. The team then has to check if the project has updated or changed upstream or if a fix needs to be made locally in their project.</p>
<p>Additionally, community outreach is a challenge Guerrette is hoping to focus on as the new project lead. He shares development updates on his <a href="https://www.youtube.com/channel/UC5HDOa8-y1loj3SUm4Zxzyw">YouTube channel</a> and occasionally will stream his development on <a href="https://www.livecoding.tv/">livecoding.tv</a>. One thing is working on to make it easier for new contributors to get involved is recommending them to try building the engine from the source code. This gives potential developers experience with compiling the engine and walks them through a variety of documentation available with the project.</p>

<h2 id="get-involved">Get involved&nbsp;<a class="hanchor" href="#get-involved" aria-label="Anchor link for: Get involved">🔗</a></h2>
<p>The Hatchit team is working further on the game engine and are looking for community participation. To get involved, Guerrette recommends checking out the l<a href="https://gitter.im/thirddegree/Hatchit">Hatchit Gitter chat</a> and to review the <a href="https://github.com/thirddegree/Hatchit/blob/master/README.md">README file</a> on the main repository. Any contributions are welcome, either in the form of pull requests or filing issues.</p>]]></description></item></channel></rss>