SlideShare a Scribd company logo
Kicking the Bukkit 
Anatomy of an open source meltdown
A little about me 
● Ryan Michela (@ryanmichela) 
● Plugin author 
● Contributor to the Bukkit project
Overview 
● A brief history of Minecraft 
● The rise and fall of Bukkit 
● How you can protect your project
Brief history of Minecraft 
● Minecraft is a sandbox style video game 
started by Markus “Notch” Presson in 2009 
for Mojang Software 
● 3rd best selling video game of all time 
● >54 million copies 
http://www.eurogamer.net/articles/2014-06-26-minecrafts-console-versions-have-now-outsold-minecraft-on-pc-mac
Kicking the Bukkit: Anatomy of an open source meltdown
Kicking the Bukkit: Anatomy of an open source meltdown
Brief history of Minecraft 
● Beloved by children 
● The defining video game of the middle-school 
generation 
● The Super Mario Brothers of the 21st 
century
Kicking the Bukkit: Anatomy of an open source meltdown
The genesis of the Bukkit project 
● Bukkit - an open-source Minecraft server 
platform 
● Plugin platform for Minecraft 
● Started in December 2010 by Dinnerbone, 
Evilseph, Grum, and Tahg 
https://github.com/Bukkit/Bukkit/commit/4e8311a6551e8d7794cff73c57a481251b47459c
Licensing questions plague infant project 
● By January, 2011, the core team started 
worrying about licensing issues 
● Bukkit licensed LGPL, but built on 
decompiled Minecraft source 
● Decompiled Mojang code blended into 
Bukkit repository 
http://forums.bukkit.org/threads/where-is-my-bukkit-preview.543/
Mixed signals from Mojang 
Nov 2010: “First of all, most “mods” that add new 
features to the game are in a very gray area legally, and 
I frown upon them. Most of them add really cool new 
features, though. It’s highly likely that something like the 
bridge mod will make it into the game.” - Notch 
http://notch.tumblr.com/post/1525944516/an-update-is-coming-tomorrow
Mixed signals from Mojang 
August 2012: “Personally, I used to feel threatened by it as 
I felt it challenged my “vision,” but on the other hand, I also 
know how wonderful mods are for games. We decided to 
just let it happen, and I’m very happy we did. Mods are a 
huge reason of what Minecraft is.” - Notch 
http://www.vg247.com/2012/08/01/notch-minecraft-mod-used-to-threaten-my-vision-minecraft-creator-speaks/
Mojang hires Bukkit team 
● Feb 28, 2012 - Mojang hires core Bukkit team to work 
on official modding API 
● Mojang offers to help with Bukkit 
○ “We will, however, help bukkit to be compatible with 
1.2, to avoid having a long gap while you wait for the 
official Minecraft server to catch up.” 
● Licensing fears mostly alleviated 
http://mojang.com/2012/02/minecraft-team-strengthened/
Kicking the Bukkit: Anatomy of an open source meltdown
But darkness was brewing in the 
community 
● Opportunistic server owners started charging for in-game 
perks, calling them “donations” 
● Angry parents complain to Mojang 
● "I don’t even know how many emails we’ve gotten from 
parents, asking for their hundred dollars back their 
kid spent on an item pack on a server we have no 
control over." - Notch 
http://notch.net/2014/06/literally-worse-than-ea/
Pay-to-win becomes commonplace 
● Big servers start 
selling off in-game 
functionality 
● $10k for “rank” in a 
game targeted at 
children
Mojang updates its EULA (and fails 
at public relations) 
● June, 2014 - Mojang awkwardly chastises for-profit server 
owners on IRC 
○ “doesn't matter at all, based on plugins or not, you 
cannot make money with Minecraft without our 
permission :)” 
○ “running servers is *NOT* A BUSINESS*” 
○ “We'll ask nicely and then send really mean lawyers :)” 
http://blog.tian.io/mojang-threatens-lawyers-against-pay-to-win-minecraft-server-operators
https://twitter.com/notch/status/474869769301409792
EULA changes drop bombshell on Bukkit 
● “The one major rule is that you must not distribute 
anything we‘ve made.” 
● “so that we are crystal clear, what we have made 
includes, but is not limited to, the client or the server 
software for our Game. It also includes modified 
versions of a Game, part of it or anything else we‘ve 
made.” 
https://account.mojang.com/documents/minecraft_eula
Evilseph shutters Bukkit project 
● August 21, 2014 
● Development team burnt out 
● No support from Mojang 
● EULA re-raises specter of infringement
“At this point in time, I think it's safe to say that it's no 
longer worth it for us to put up a fight when it comes to 
keeping Bukkit and modding alive. With large and 
significant changes coming in Minecraft 1.8 that we'll be 
hard pressed to provide support for and the lack of support 
from Mojang with updates since acquiring our original core 
team (Mojang used to provide us with mappings to speed 
up the update process), there is little motivation for us to 
continue limping on across various aspects of the 
project.” 
- Evilseph 
http://forums.bukkit.org/threads/bukkit-its-time-to-say.305106/
Mojang owns bukkit?! 
● Mojang secretly bought Bukkit when they 
hired the core development team 
https://storify.com/lukegb/the-tale-of-bukkit-for-minecraft-1-8
Mojang will finish Bukkit
Kicking the Bukkit: Anatomy of an open source meltdown
Then the DMCA gets involved 
September 3, 2014 - Wolvereness, a long-time Bukkit 
developer, files a DMCA takedown notice against all 
versions of Bukkit hosted on the main Bukkit download 
servers at Multiplay
Wolvereness’ Claim 
The provided license requires the use of included or linking code to 
provide the original source under the GNU GPL license version 3, or any 
later version. An official notice has been sent to Mojang AB, whereas the 
Chief Operating Officer, Vu Bui, responded with the clear text: 
Mojang has not authorized the inclusion of any of its proprietary 
Minecraft software (including its Minecraft Server software) within the 
Bukkit project to be included in or made subject to any GPL or LGPL 
license, or indeed any other open source license 
As the Minecraft Server software is included in CraftBukkit, and the 
original code has not been provided or its use authorized, this is a 
violation of my copyright. I have a good faith belief the distribution of 
CraftBukkit includes content of which the distribution is not authorized by 
the copyright owner, it's agent, or the law. 
http://dl.bukkit.org/dmca/notification.txt
Gone from the internet 
● September 5, 2014 - Wolvereness shuts 
down Bukkit repo on GitHub 
● September 6, 2014 - Wolvereness shuts 
down SpigotMC and Cauldron, forks of 
Bukkt 
https://github.com/github/dmca/blob/master/2014-09-05-CraftBukkit.md 
http://www.spigotmc.org/threads/our-dmca-response.28772/
Kicking the Bukkit: Anatomy of an open source meltdown
Great new things in the future 
● Sponge Project steps up 
● Microsoft buys Mojang - $2.5B 
http://abc13.com/news/software-writer-in-la-marque-latest-swatting-victim/305170/ 
https://mojang.com/2014/09/yes-were-being-bought-by-microsoft
Kicking the Bukkit: Anatomy of an open source meltdown
Five Reasons
Reason 1: Questionable inclusion of 
decompiled code in an open source 
project 
● Bukkit built on top of partially decompiled 
Mojang code 
● Mojang code blended with Bukkit code in 
Github
Reason 2: Questionable application 
of (L)GPL3 
● GPL3 chosen without proper consideration 
of consequences 
● Unmodified Mojang .class files distributed as 
part of Bukkit .jar using Maven shade 
● LGPL3 explicitly bans linking and distributing 
non-free code
Reason 3: Questionable relationship 
with Mojang Software 
● What exactly did Mojang buy? Bukkit code? 
Logos? Domains? - Nobody knows 
● Mojang success was built on the backs of 
volunteers 
○ Reverse engineering is torturous work 
○ Some developers feel they were taken advantage of
Reason 4: No contributor license 
agreement 
● 125+ developers each own their own piece 
of Bukkit 
● Project couldn’t re-license with more 
permissive license
Reason 5: Unhappy developer 
community 
● EULA changes 
● Terrible Mojang PR 
● Secretly selling the project
It only takes one unhappy developer 
to kill an unprotected project
Kicking the Bukkit: Anatomy of an open source meltdown
Thoroughly consider your license 
before your first commit 
● Which license do you choose? 
○ MIT? 
○ Apache? 
○ GPL? 
○ Other? 
● Changing your license after accepting 
contributions is not trivial
www.choosealicense.com
● Node 
● Bootstrap 
● JQuery 
● Rails 
● Apache.* 
● Docker 
● NuGet 
● Android 
● Linux 
● Git 
● Mongo (AGPL) 
● Discourse
MIT vs. Apache 
Permissive licensing 
● MIT - Do whatever you want 
● Apache - Patent protection
GPL vs. LGPL vs. AGPL 
Restrictive licensing 
● GPL - products 
● LGPL - libraries 
● AGPL - network services
http://oss-watch.ac.uk/apps/licdiff/
Thoroughly vet the licenses of all 
components you modify or link 
against 
● If your dependencies licenses are 
incompatible with your license, your license 
may be invalid 
● http://www.gnu.org/licenses/license-list.html 
● Unlicensed code is a landmine
Common license compatibility 
David A. Wheeler, The Free-Libre / Open Source Software (FLOSS) License Slide 
http://www.dwheeler.com/essays/floss-license-slide.html
Avoid uncommon or “off brand” 
licenses 
● Legal ramifications less understood 
● License compatibility less understood 
● Don’t “roll your own”
Consider a Contributor License 
Agreement 
● Typically grants or transfers copyright to the 
project 
● http://www.clahub.com - for Github projects
Kicking the Bukkit: Anatomy of an open source meltdown
Avoid pinning the survival of 
your open-source project on 
the good graces of a for-profit 
company
Avoid directly linking to 
closed source code in an 
open source project
Avoid alienating your entire 
developer community 
simultaneously
Avoid operating your project 
in another company’s legal 
gray area
And especially: 
Don’t secretly sell your open 
source project to a for-profit 
company while continuing to 
accept contributions
Kicking the Bukkit: Anatomy of an open source meltdown

More Related Content

PDF
모바일 게임 테스트 자동화 (Appium 확장)
PPSX
Test Complete
PDF
Unit testing with JUnit
PDF
H3 2011 하이브리드 앱 아키텍쳐 및 개발방법
 
PDF
ドメイン駆動設計のための Spring の上手な使い方
PDF
인프라 벤치마크 테스트 잘 해보기 윤서율.pdf
PDF
Automação e virtualização de serviços
PPTX
JUNit Presentation
모바일 게임 테스트 자동화 (Appium 확장)
Test Complete
Unit testing with JUnit
H3 2011 하이브리드 앱 아키텍쳐 및 개발방법
 
ドメイン駆動設計のための Spring の上手な使い方
인프라 벤치마크 테스트 잘 해보기 윤서율.pdf
Automação e virtualização de serviços
JUNit Presentation

What's hot (20)

PDF
Como criar testes rápidos e robustos com Cypress
PDF
Androidテスティング実践3 ユニットテスト・CI編
PDF
最近のBurp Suiteについて調べてみた
PPTX
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
PDF
Node.js API 서버 성능 개선기
PPTX
ECS+Locust로 부하 테스트 진행하기
ODP
Introduction to Swagger
PDF
エンタープライズ分野向けUE4最新機能のご紹介
PDF
Micro vs Nano (servicios)
PDF
Patterns of a “good” test automation framework
PDF
NDC 2015 삼시세끼 빌드만들기
PDF
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
PDF
UI Testing Automation
PPTX
Setting up Page Object Model in Automation Framework
PDF
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
PPTX
Les dessous du framework spring
PPTX
大規模ゲーム開発における build 高速化と安定化
PDF
GUI自動テストの保守性を高めるには
PPTX
JUnit- A Unit Testing Framework
PPT
05 junit
Como criar testes rápidos e robustos com Cypress
Androidテスティング実践3 ユニットテスト・CI編
最近のBurp Suiteについて調べてみた
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
Node.js API 서버 성능 개선기
ECS+Locust로 부하 테스트 진행하기
Introduction to Swagger
エンタープライズ分野向けUE4最新機能のご紹介
Micro vs Nano (servicios)
Patterns of a “good” test automation framework
NDC 2015 삼시세끼 빌드만들기
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
UI Testing Automation
Setting up Page Object Model in Automation Framework
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
Les dessous du framework spring
大規模ゲーム開発における build 高速化と安定化
GUI自動テストの保守性を高めるには
JUnit- A Unit Testing Framework
05 junit
Ad

Viewers also liked (18)

PDF
We Built It, And They Didn't Come!
PDF
Your code sucks, let's fix it
PDF
Composer The Right Way - 010PHP
PDF
Programming objects with android
PDF
10 commandments for better android development
PPTX
Rethinking Best Practices
KEY
Object Calisthenics Applied to PHP
PDF
Visual guide to selling software as a service by @prezly
PDF
Understanding PHP objects
PDF
Clean code
PDF
Integrating React.js with PHP projects
PDF
How to Design Indexes, Really
PDF
Enterprise PHP: mappers, models and services
PDF
From development environments to production deployments with Docker, Compose,...
PDF
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
PDF
Functional Programming Patterns (BuildStuff '14)
PDF
From Idea to Execution: Spotify's Discover Weekly
PDF
Linux Profiling at Netflix
We Built It, And They Didn't Come!
Your code sucks, let's fix it
Composer The Right Way - 010PHP
Programming objects with android
10 commandments for better android development
Rethinking Best Practices
Object Calisthenics Applied to PHP
Visual guide to selling software as a service by @prezly
Understanding PHP objects
Clean code
Integrating React.js with PHP projects
How to Design Indexes, Really
Enterprise PHP: mappers, models and services
From development environments to production deployments with Docker, Compose,...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Functional Programming Patterns (BuildStuff '14)
From Idea to Execution: Spotify's Discover Weekly
Linux Profiling at Netflix
Ad

Similar to Kicking the Bukkit: Anatomy of an open source meltdown (20)

PPTX
CampJS - Making gaming more fun and efficient
PDF
Boot to Gecko Introduction
PDF
Hackersuli Minecraft hackeles kezdoknek
PDF
Is Android the New Embedded Linux? at AnDevCon IV
PDF
Multiplayer game with unity3 d and meteor
PDF
Learning to Mod Minecraft: A Father/Daughter Retrospective
PDF
IoT: Contrasting Yocto/Buildroot to binary OSes
PPTX
Intro to Mobile Game Development
PDF
Headless Android
PDF
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
PPTX
Cloud gaming infrastructure in cloudretro.io
PPTX
Mozilla's Boot to Gecko (B2G)
PDF
Headless Android at AnDevCon3
PPTX
Google I_O extended GDSC ICTU.pptx
PDF
Mconf - BigBlueButton Summit
PDF
Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)
PDF
IoT Development from Prototype to Production
PDF
Electron JS | Build cross-platform desktop applications with web technologies
PPTX
Cross Platform HTML5 Mobile Development
PDF
IoT Prototyping using BBB and Debian
CampJS - Making gaming more fun and efficient
Boot to Gecko Introduction
Hackersuli Minecraft hackeles kezdoknek
Is Android the New Embedded Linux? at AnDevCon IV
Multiplayer game with unity3 d and meteor
Learning to Mod Minecraft: A Father/Daughter Retrospective
IoT: Contrasting Yocto/Buildroot to binary OSes
Intro to Mobile Game Development
Headless Android
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
Cloud gaming infrastructure in cloudretro.io
Mozilla's Boot to Gecko (B2G)
Headless Android at AnDevCon3
Google I_O extended GDSC ICTU.pptx
Mconf - BigBlueButton Summit
Improving Chromium's code health: Onion Soup and beyond (BlinkOn 11)
IoT Development from Prototype to Production
Electron JS | Build cross-platform desktop applications with web technologies
Cross Platform HTML5 Mobile Development
IoT Prototyping using BBB and Debian

Recently uploaded (20)

PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
AI in Product Development-omnex systems
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Online Work Permit System for Fast Permit Processing
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
How Creative Agencies Leverage Project Management Software.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
AI in Product Development-omnex systems
2025 Textile ERP Trends: SAP, Odoo & Oracle
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
Wondershare Filmora 15 Crack With Activation Key [2025
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo POS Development Services by CandidRoot Solutions
Online Work Permit System for Fast Permit Processing

Kicking the Bukkit: Anatomy of an open source meltdown

  • 1. Kicking the Bukkit Anatomy of an open source meltdown
  • 2. A little about me ● Ryan Michela (@ryanmichela) ● Plugin author ● Contributor to the Bukkit project
  • 3. Overview ● A brief history of Minecraft ● The rise and fall of Bukkit ● How you can protect your project
  • 4. Brief history of Minecraft ● Minecraft is a sandbox style video game started by Markus “Notch” Presson in 2009 for Mojang Software ● 3rd best selling video game of all time ● >54 million copies http://www.eurogamer.net/articles/2014-06-26-minecrafts-console-versions-have-now-outsold-minecraft-on-pc-mac
  • 7. Brief history of Minecraft ● Beloved by children ● The defining video game of the middle-school generation ● The Super Mario Brothers of the 21st century
  • 9. The genesis of the Bukkit project ● Bukkit - an open-source Minecraft server platform ● Plugin platform for Minecraft ● Started in December 2010 by Dinnerbone, Evilseph, Grum, and Tahg https://github.com/Bukkit/Bukkit/commit/4e8311a6551e8d7794cff73c57a481251b47459c
  • 10. Licensing questions plague infant project ● By January, 2011, the core team started worrying about licensing issues ● Bukkit licensed LGPL, but built on decompiled Minecraft source ● Decompiled Mojang code blended into Bukkit repository http://forums.bukkit.org/threads/where-is-my-bukkit-preview.543/
  • 11. Mixed signals from Mojang Nov 2010: “First of all, most “mods” that add new features to the game are in a very gray area legally, and I frown upon them. Most of them add really cool new features, though. It’s highly likely that something like the bridge mod will make it into the game.” - Notch http://notch.tumblr.com/post/1525944516/an-update-is-coming-tomorrow
  • 12. Mixed signals from Mojang August 2012: “Personally, I used to feel threatened by it as I felt it challenged my “vision,” but on the other hand, I also know how wonderful mods are for games. We decided to just let it happen, and I’m very happy we did. Mods are a huge reason of what Minecraft is.” - Notch http://www.vg247.com/2012/08/01/notch-minecraft-mod-used-to-threaten-my-vision-minecraft-creator-speaks/
  • 13. Mojang hires Bukkit team ● Feb 28, 2012 - Mojang hires core Bukkit team to work on official modding API ● Mojang offers to help with Bukkit ○ “We will, however, help bukkit to be compatible with 1.2, to avoid having a long gap while you wait for the official Minecraft server to catch up.” ● Licensing fears mostly alleviated http://mojang.com/2012/02/minecraft-team-strengthened/
  • 15. But darkness was brewing in the community ● Opportunistic server owners started charging for in-game perks, calling them “donations” ● Angry parents complain to Mojang ● "I don’t even know how many emails we’ve gotten from parents, asking for their hundred dollars back their kid spent on an item pack on a server we have no control over." - Notch http://notch.net/2014/06/literally-worse-than-ea/
  • 16. Pay-to-win becomes commonplace ● Big servers start selling off in-game functionality ● $10k for “rank” in a game targeted at children
  • 17. Mojang updates its EULA (and fails at public relations) ● June, 2014 - Mojang awkwardly chastises for-profit server owners on IRC ○ “doesn't matter at all, based on plugins or not, you cannot make money with Minecraft without our permission :)” ○ “running servers is *NOT* A BUSINESS*” ○ “We'll ask nicely and then send really mean lawyers :)” http://blog.tian.io/mojang-threatens-lawyers-against-pay-to-win-minecraft-server-operators
  • 19. EULA changes drop bombshell on Bukkit ● “The one major rule is that you must not distribute anything we‘ve made.” ● “so that we are crystal clear, what we have made includes, but is not limited to, the client or the server software for our Game. It also includes modified versions of a Game, part of it or anything else we‘ve made.” https://account.mojang.com/documents/minecraft_eula
  • 20. Evilseph shutters Bukkit project ● August 21, 2014 ● Development team burnt out ● No support from Mojang ● EULA re-raises specter of infringement
  • 21. “At this point in time, I think it's safe to say that it's no longer worth it for us to put up a fight when it comes to keeping Bukkit and modding alive. With large and significant changes coming in Minecraft 1.8 that we'll be hard pressed to provide support for and the lack of support from Mojang with updates since acquiring our original core team (Mojang used to provide us with mappings to speed up the update process), there is little motivation for us to continue limping on across various aspects of the project.” - Evilseph http://forums.bukkit.org/threads/bukkit-its-time-to-say.305106/
  • 22. Mojang owns bukkit?! ● Mojang secretly bought Bukkit when they hired the core development team https://storify.com/lukegb/the-tale-of-bukkit-for-minecraft-1-8
  • 25. Then the DMCA gets involved September 3, 2014 - Wolvereness, a long-time Bukkit developer, files a DMCA takedown notice against all versions of Bukkit hosted on the main Bukkit download servers at Multiplay
  • 26. Wolvereness’ Claim The provided license requires the use of included or linking code to provide the original source under the GNU GPL license version 3, or any later version. An official notice has been sent to Mojang AB, whereas the Chief Operating Officer, Vu Bui, responded with the clear text: Mojang has not authorized the inclusion of any of its proprietary Minecraft software (including its Minecraft Server software) within the Bukkit project to be included in or made subject to any GPL or LGPL license, or indeed any other open source license As the Minecraft Server software is included in CraftBukkit, and the original code has not been provided or its use authorized, this is a violation of my copyright. I have a good faith belief the distribution of CraftBukkit includes content of which the distribution is not authorized by the copyright owner, it's agent, or the law. http://dl.bukkit.org/dmca/notification.txt
  • 27. Gone from the internet ● September 5, 2014 - Wolvereness shuts down Bukkit repo on GitHub ● September 6, 2014 - Wolvereness shuts down SpigotMC and Cauldron, forks of Bukkt https://github.com/github/dmca/blob/master/2014-09-05-CraftBukkit.md http://www.spigotmc.org/threads/our-dmca-response.28772/
  • 29. Great new things in the future ● Sponge Project steps up ● Microsoft buys Mojang - $2.5B http://abc13.com/news/software-writer-in-la-marque-latest-swatting-victim/305170/ https://mojang.com/2014/09/yes-were-being-bought-by-microsoft
  • 32. Reason 1: Questionable inclusion of decompiled code in an open source project ● Bukkit built on top of partially decompiled Mojang code ● Mojang code blended with Bukkit code in Github
  • 33. Reason 2: Questionable application of (L)GPL3 ● GPL3 chosen without proper consideration of consequences ● Unmodified Mojang .class files distributed as part of Bukkit .jar using Maven shade ● LGPL3 explicitly bans linking and distributing non-free code
  • 34. Reason 3: Questionable relationship with Mojang Software ● What exactly did Mojang buy? Bukkit code? Logos? Domains? - Nobody knows ● Mojang success was built on the backs of volunteers ○ Reverse engineering is torturous work ○ Some developers feel they were taken advantage of
  • 35. Reason 4: No contributor license agreement ● 125+ developers each own their own piece of Bukkit ● Project couldn’t re-license with more permissive license
  • 36. Reason 5: Unhappy developer community ● EULA changes ● Terrible Mojang PR ● Secretly selling the project
  • 37. It only takes one unhappy developer to kill an unprotected project
  • 39. Thoroughly consider your license before your first commit ● Which license do you choose? ○ MIT? ○ Apache? ○ GPL? ○ Other? ● Changing your license after accepting contributions is not trivial
  • 41. ● Node ● Bootstrap ● JQuery ● Rails ● Apache.* ● Docker ● NuGet ● Android ● Linux ● Git ● Mongo (AGPL) ● Discourse
  • 42. MIT vs. Apache Permissive licensing ● MIT - Do whatever you want ● Apache - Patent protection
  • 43. GPL vs. LGPL vs. AGPL Restrictive licensing ● GPL - products ● LGPL - libraries ● AGPL - network services
  • 45. Thoroughly vet the licenses of all components you modify or link against ● If your dependencies licenses are incompatible with your license, your license may be invalid ● http://www.gnu.org/licenses/license-list.html ● Unlicensed code is a landmine
  • 46. Common license compatibility David A. Wheeler, The Free-Libre / Open Source Software (FLOSS) License Slide http://www.dwheeler.com/essays/floss-license-slide.html
  • 47. Avoid uncommon or “off brand” licenses ● Legal ramifications less understood ● License compatibility less understood ● Don’t “roll your own”
  • 48. Consider a Contributor License Agreement ● Typically grants or transfers copyright to the project ● http://www.clahub.com - for Github projects
  • 50. Avoid pinning the survival of your open-source project on the good graces of a for-profit company
  • 51. Avoid directly linking to closed source code in an open source project
  • 52. Avoid alienating your entire developer community simultaneously
  • 53. Avoid operating your project in another company’s legal gray area
  • 54. And especially: Don’t secretly sell your open source project to a for-profit company while continuing to accept contributions