RIGHT

Forking it

WELCOME!

RIGHT

Forking it

This was WordPress... before WordPress:

In 2003, Matt Mullenweg and Mike Little forked "b2 cafelog" and created WordPress.

The First Version of WordPress.org

The First Version of WordPress Blogging Platform

Others soon joined Mullenweg and Little, including the originator of b2, Michel Valdrighi.

The project quickly took off and the rest is history. 

WordPress is an achievement of the Open Source philosophy and showcases the power of forking code right.

Interesting StatISTICS

  • 48% of Technorati’s Top 100 Blogs Are Managed With WordPress

  • 74.6 Million Sites Depend on WordPress

  • 56 LANGUAGE Translations of WordPress

  • WordPress Is Most Popular With Business Websites

OVERVIEW

  • What is Open Source & the Free Software Movement?
  • What is a fork?
  • How do you fork?
    • Plus, How to Contribute
  • Ethical vs Unethical Forking

THE OPEN SOURCE

PHILOSOPHY

Open source software is software that can be freely used, changed, and shared (in modified or unmodified form) by anyone. 

THERE ARE MANY OPEN SOURCE Approved LICENSES:

The license under which the WordPress software is released is the GPLv2 (or later) from the Free Software Foundation. A copy of the license is included with every copy of WordPress.

What is the Free Software Movement?

The freedom to run the program, For any purpose

Freedom 0:

The freedom to STUDY HOW THE PROGRAM WORKS AND CHANGE IT TO MAKE IT DO WHAT YOU WISH

Freedom 1:

THE FREEDOM TO REDISTRIBUTE COPIES SO YOU CAN HELP YOUR NEIGHBOR

Freedom 2:

THE FREEDOM TO DISTRIBUTE COPIES OF YOUR MODIFIED VERSIONS TO OTHERS

Freedom 3:

WHAT IS A FORK?

In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. 

HOW DO YOU FORK?

FORKING ON GITHUB

FORKING ON BITBUCKET

FORKING on GitHub/Bitbucket

  • Creates a copy of the forked repository in your own account

 

  • Forking is the first step to contributing back to a project via a "Pull Request"
  • Ability to sync with forked repository
  • Free repositories are typically public & open source

PUBLIC VS PRIVATE REPOS

  • Public repos can be forked and downloaded by anyone

  • Private repositories are not free and restrict public access

Git Clients

  • Allows you to interact with repositories
    • Fork, Clone, Stash, Merge, etc.
  • Command Line or GUI based
  • Free & Premium Products for Mac & Windows
  • Most IDEs have Git integration built-in or available as a package download

    • PHPstorm
    • SublimeText 

SourceTree

TOWER2

(Mac only)

WHY SHOULD YOU FORK?

  • Saves development time
  • Forking is the first step to contributing back
  • Improves your own development

  • Leverage proven codebases

WHAT CAN I FORK?

Free and open source software may be legally forked without prior approval of those currently developing, managing, or distributing the software per both 

ETHICAL FORKING

VERSUS

UNETHICAL FORKING

  • With great freedom comes great responsibility

FORK WISELY

  • There are literally thousands of plugins for WordPress that began their lives as forks
  • Right vs wrong - Ethical vs Unethical is largely a matter of opinion & not the law

Forking it Right: cforms II

  • Breathing new life into a plugin the original author abandoned
  • Providing free support on WordPress.org

  • Helping WordPress users dependent on cForms II

WHY IS THIS ETHICAL?

  • Patched the security issue

UNETHICAL FORKING

GPL "Club" sites  >:(

  • Reselling Other's Premium Products
  • Near-zero Effort Involved

  • Confusing New WordPress Users

  • Hurting actual plugin developers

  • Taking, not giving 

  • Offering Zero Support or Updates

WHY IS THIS UNETHICAL?

THE STORY OF GIVE

  • Not competing with forked repositories
  • Large amounts of custom development done atop of forks

  • Core plugin will always be free

WHY IS GIVE ETHICAL?

  • Continued contribution back to forked repositories

UNETHICAL FORK EXAMPLE

  • Premium code turned free & gated with email lead capture form
  • Large marketing campaign & website at launch "gift from LeadPages"

  • Another funnel into LeadPages Paid 

WHY IS RAPIDOLOGY UnETHICAL?

  • Largely rebranded with near-zero code changes

While the GPL and it’s compatible licenses allow for forking, we have an ‘above and beyond’ rule for hosting here, that means your plugin must be a substantial change of the original. We do not allow direct copies of other plugins to be re-listed under somebody else’s name, we allow changed forks.

  • If the project seems abandoned, try talking to the original author first and see if you can adopt the plugin

TIPS FOR FORKING IT RIGHT

  • Make sure you don’t violate trademarks or copyright

  • Give the new project a unique name so it is not confused with the original

  • Credit the original author within the source code and documentation

  • Make sure your new work is released under the GPL license.

Always remember spirit of WordPress community.

Additional Reading & Slides link

More on GPL & Forking 

@innerwebs

THANK YOU!

Review my presentation: 

http://wclax.reviews/

QUESTIONS?

PHOTO CREDITS

  • StartupStockPhotos - http://startupstockphotos.com/

  •  https://s3.amazonaws.com/StartupStockPhotos/20140808_StartupStockPhotos/82.jpg

  • FreePik http://freepik.com

  • http://www.freepik.com/free-photo/meeting-around-the-desk_756218.htm

  • http://www.officelovin.com/wp-content/uploads/2015/03/20150226-London-Soho-19.jpg

Forking it Right

By Devin Walker

Forking it Right

What is a fork? Well, essentially taking a copy of someone else’s code and developing on it yourself. A lot of popular plugins you use today began as forks, such as WooCommerce and many others. So, when is forking right and when is it wrong? Learn about what a fork is and how you can use third party code to create unique and meaningful solutions.Let’s discover the history and debate around forking in the WordPress, the community, and beyond. This presentation will be light on code and geared towards WordPress users who understand the underlying principles of WordPress and General Public License (GPL).

  • 7,010