I'm Ayesh Karunaratne, a freelance PHP/Drupal Web Developer and
a solo traveler.
I develop back-ends of awesome Drupal websites, built with performance, security and best practices in mind. Being a freelancer, I have plenty of time to travel. Currently living in Kandy, Sri Lanka, but the actual location may vary.
git push is only the start of publishing an open source software, and it takes a lot of personal and technical skills to create a successful open source project.
If you would like to follow along (the presenter will also project to a screen), the following things will be necessary:
A Laptop, preferably with Git installed.
A Github account
If you have never published an open source project, or just starting out, you are the perfect fit! Knowing the very basics of Git version controlling system will help, but this talk is more about personal skills than the technical jargon, so feel free to attend!
What you'll learn from this tutorial:
Although you can freely distribute your code anyway you like, there are many established practices that can be overwhelming to newcomers. We will learn the workflow of an open source (PHP) software by creating a new package from scratch, all the way to publishing it for the world to see, including proper license, package meta data, Readme file, documentation, automated build process, package versioning, and everything that was once overwhelming to even to think about!
Why we use a version controlling system
Basic Git setup.
Pushing and pulling code
Branching, merging and rebasing
How to write proper commit messages.
Create your first Composer package
Publishing packages on Packagist.
Dependencies and autoloading
Local composer packages
Issue templates, Wiki articles, and documentation
Issues and Pull Requests
How to create an issue on a project
Contributing and collaborating with other open source projects
Signing Git commits and tags
How to write proper tests
How to write testable code: Dependency injection, Mockups, etc
Continuously running tests
Building and testing on Travis CI
What you will leave with:
At the end of this tutorial, we will have basic skills with Git, the Composer/packagist ecosystem, using third party packages, automated tests, documentation, and other personal skills that would make you a responsible open source software maintainer!
You can download the slides from links below. Note that there are several animations in the slides, which won't appear in the PDF. If possible, use the PPTX version. You can alternately view it online from link below.