Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

SitePoint PHP Blog:
Pay the Price for Open Source
Nov 25, 2016 @ 15:18:18

The SitePoint PHP blog has a post from the godfather of the PHP community Cal Evans about paying the price for open source - giving back to Open Source projects that you use every day.

Back in the early days of Open Source – when Dinosaurs roamed the earth and Rasmus was a young man – there were two types of open source projects we talked about: those that didn’t cost any money, and those that gave you the freedom to redistribute and modify the code.

[...] Fast forward a few dozen years and here we are, Open Source is now an ecosystem, not a user group that you and five friends attend, or a magazine to which you subscribe. The problem is that most of us have stopped talking about the different types of open source, we just assume it is both.

He talks about how PHP is technically both kinds of free but also points out that open source will potentially die out (as it is now) without one major piece - users contributing back, giving their time and effort to keep it (and related projects) free. He talks about how you can give back, and not necessarily monetarily. He talks about one of his own experiences with giving back (to WordPress) when his work wasn't accepted, but he also points out that even though it may be rejected it doesn't mean you should stop.

What ever project you are working with, take the time to give back. Don’t let Open Source die in our generation.

Preserve this great concept; this ecosystem that we have helped build and that has allowed us to build so much. If you are a developer, find your favorite project and give back. If you run a company or a team of developers, give them time on your dime to give back to a project. Help keep the Open Source ecosystem thriving for the next generation of developers.

tagged: opensource pay price giveback contribute opinion

Link: https://www.sitepoint.com/pay-the-price-for-open-source/

SitePoint PHP Blog:
Contributing to PHP: How to Fix Bugs in the PHP Core
Apr 12, 2016 @ 10:37:27

On the SitePoint PHP blog Thomas Punt continues his series about how you can contribute back to the PHP language. In his previous post he talked about contributing to the PHP manual. In this latest part of the series he moves into something with a bit more complexity: contributing to the core of the language itself.

Previously, we covered contributing to PHP’s documentation. Now, we will be covering how to get involved with PHP’s core. To do this, we will be looking at the workflow for fixing a simple bug in the core.

Since submitting new features to PHP has already been explained pretty well, we will not be covering that here. Also, this article does not seek to teach PHP’s internals. For more information on that, please see my previous posts on adding features to PHP.

In this article he assumes you at least already have a working knowledge of the PHP source and how to locate/update code and execute it. He focuses instead on the bugfix process and workflow needed to:

  • find a bug to fix
  • create a test to reproduce the issue
  • use a debugger to find the exact spot where the problem is
  • and create a simple fix

In this case it's a pretty simple issue to correct, but there are much more complex things that would require more work than just a simple "if" check. This guide can help you get started on the correct workflow, however, and be sure you're handling things as the project expects.

tagged: contribute fix bug core language guide workflow test phpt

Link: http://www.sitepoint.com/contributing-to-php-how-to-fix-bugs-in-the-php-core/

SitePoint PHP Blog:
Contributing to PHP: How to Contribute to PHP's Manual
Apr 11, 2016 @ 12:11:41

On the SitePoint PHP blog there's a tutorial posted helping you get started editing and updating the PHP.net documentation, one of the most widely used parts of the PHP ecosystem.

In this two-part article series, we’ll be covering how to contribute to the PHP project. This will hopefully clarify what steps need to be taken for those looking to become more involved with PHP.

This first part will be covering how to contribute to PHP’s documentation, including how to request a php.net Account and what to do once an account has been granted.

He starts with a bit about why you should contribute back to the PHP project and how the documentation is a great place to start. He then gets into the structure of the documentation, the DocBook structure it uses and points to the online editor for the first time contributors. He includes a video showing how to use the system to resolve this bug showing an incorrect MongoDB Client example. For those that would rather do it locally, he shows how to setup and configure the source and required tools. He then shows the flow of updating the documentation, building the result and verifying the update looks correct.

Finally he talks about requesting a php.net account to push the changes back upstream and provides some general tips on things like style guidelines, page ordering and correctly versioning files.

tagged: contribute project manual tutorial online local edit

Link: http://www.sitepoint.com/how-to-contribute-to-phps-documentation/

Symfony Blog:
Virtual Symfony Hack Day - March 12th!
Mar 08, 2016 @ 13:41:08

On the Symfony blog they've officially announce their latest virtual Symfony Hack Day coming in March (on the 12th). This event is a concentrated effort from the project and developers to come together and solve issues over several hours.

Symfony has always been a project driven by a huge and active community. [...] Because Symfony has a predictable release schedule, we know that feature freeze for Symfony 3.1 will be at the end of this month (March). That makes the next few weeks of development really important!

That's why we've decided to organize an online hack day, and I would love if you'd join us. If you're an experienced contributor, great! If you're new, even better! This hack day will focus on teaching you how to contribute.

The event will be happening March 12th from 3pm to 8pm CET / 9am to 2pm EST and will focus around the #symfony-dev channel on the Freenode IRC network. They'll be focusing on how to get started contributing to the framework including a mini-workshop showing how to triage issues to creating a pull request.

tagged: symfony framework hackday march virtual symfonydev freenode irc beginner contribute howto

Link: http://symfony.com/blog/virtual-symfony-hack-day-march-12th

SitePoint PHP Blog:
Contributing to Open Source: Gatekeeper Case Study
Feb 23, 2016 @ 09:31:41

On the SitePoint PHP blog editor Bruno Skvorc has a post sharing some of his experience contributing to an open source PHP project and the flow he followed to add in a new feature. The project in question is Gatekeeper, an "all in one", framework-agnostic solution for user authentication and authorization.

GateKeeper is a pretty nifty user registration, authentication and authorization library which uses its own database to store and query the user records. This means that it’s completely decoupled from your main app (so you can, essentially, use Postgre or Mongo for your business logic while using a completely different engine like MySQL for basic user records) and easy to tweak and extend.

[...] This post isn’t about Gatekeeper per-se, though. It’s about contributing to open source, and going about the right way to doing it.

He then breaks the rest of the post up into a few different steps in the contribution flow:

  • Step 1: Ask the owner
  • Step 2: Fork, clone, test
  • Step 3: Plan of Action
  • Step 4: Just Do It ™
  • Step 5: Testing

He includes the code he contributed to the project and where each change needed to be made. He also shows how he tested the new feature and the results of calling his new method to count the number of records for a user, group, permission, etc.

tagged: gatekeeper opensource contribute guide casestudy

Link: http://www.sitepoint.com/contributing-to-open-source-gatekeeper-case-study/

Larry Garfield:
Giving Back in 2016
Jan 25, 2016 @ 10:57:14

In the latest post to his site Larry Garfield makes a charge to the community - both Drupal and the wider PHP community - to gave back in 2016 and make an effort to contribute in some way back to the projects you use and love.

At the end of 2014, I wrote a follow-up for Acquia's Future of PHP series. In that, I called on people to Build Bridges between communities through not just visiting them, but building with them. Build and launch a real project with some toolkit that's not your usual go-to tool, and then documenting and sharing that knowledge with others.

While recording another episode of the Acquia Podcast with JAM (who seems to like having me on for some reason), he asked me what was next. What was the next 2016 challenge to help build a more robust PHP community?

This one should be easy, right? Give back.

He suggests not only that you get out and give back but that you also do it in somewhat unfamiliar territory. He points out that with most of the software we use we're "standing on the shoulders of giants" and without these people giving their time to help the project, it wouldn't be where it is. He includes a few suggestions of things to think about when looking for a place to contribute:

  • look for projects "affiliated" with the ones you usually contribute to
  • if you've never contributed before, there's an even wider range of options (frameworks, extensions, libraries, etc)
  • report bugs if you don't feel like you can contribute code

He does include a reminder that not all projects and communities will be a good fit for you and how you'd like to contribute, so find a good fit and then dig in.

Three contributions, to three projects, in any way, that is new to you. That's the ask. That's #PHPGivesBack2016. And then talk about it. Giving back is something to be proud of so be proud of it, and encourage others to do so as well.
tagged: give back contribute project opensource phpgivesback2016 community

Link: http://www.garfieldtech.com/blog/php-gives-back-2016

Voices of the ElePHPant:
It's the Booze Talking: Contributing to Open Source
Dec 01, 2015 @ 13:46:27

The Voices of the ElePHPant podcast has posted their latest episode but this time it's another in their special "It's the Booze Talking" series. In this latest show they gathered together people from several PHP projects and other well-known individuals from the community:

In this episode they talk about how they started in open source and contributing to projects. They also talk about some of their own definitions around what "contributing" means for open source and its projects. Cal also asks the group about how contributing to open source has helped (or hurt) their career. There's also some discussion about leadership and management in open source projects. The group also shares some of the "worst" things they felt when making their first pushes to an open source project.

You can listen to this latest show either using the in-page audio player or by downloading the mp3 directly. If you enjoy the episode and want to hear more (and other interviews with members of the PHP community) be sure to subscribe to their feed and follow them on Twitter.

tagged: voicesoftheelephpant community boozetalking contribute opensource project roundtable

Link: https://voicesoftheelephpant.com/2015/12/01/its-the-booze-talking-contributing-to-open-source/

Rob Allen:
The beginner's guide to rebasing your PR
Oct 09, 2015 @ 10:30:12

If you've ever contributed to an Open Source project on GitHub (or really even just used Git in general) chances are there's been a time when you needed to rebase your branch with what's on master. It can be a bit confusing to Rob Allen is here to help with this brief guide to walk you through the steps for a successful rebase.

You've successfully created a PR and it's in the queue to be merged. A maintainer looks at the code and asks you to rebase your PR so that they can merge it. Say what?

The maintainer means that there have been other code changes on the project since you branched which means that your branch cannot be merged without conflicts and they would like to you to sort this out. These are the steps you should take.

He breaks it down into three main steps and includes the commands you'll need and how to push the result back up into the waiting repository:

  • Update your target branch from upstream
  • Rebase your branch
  • Push your newly rebased branch to origin

There's really about six steps involved but that's only when you break it down to the individual commands. It's a relatively simple process that, while a bit confusing from the outside, can be very helpful to a project maintainer when it comes merge time.

tagged: rebase pullrequest project opensource process tutorial contribute

Link: http://akrabat.com/the-beginners-guide-to-rebasing-your-pr/

Rob Allen:
The beginner's guide to contributing to a GitHub project
Sep 24, 2015 @ 12:08:10

If you've ever wanted to contribute to an open source project but didn't have any idea where to begin, Rob Allen has a few suggestions to help you get started. His guide is a bit more on the technical level than others that talk more about finding a project or community to be a part of, though.

This is a guide to contributing to an open source project that uses GitHub. It's mostly based on how I've seen Zend Framework, Slim Framework and joind.in operate. However, this is a general guide so check your project's README for specifics.

He walks you through a four step process to getting ready to contribute and make that first submission to the project of your choice:

  • Set up a working copy on your computer
  • Do some work
  • Create the PR (Pull Request)
  • Review by the maintainers

Naturally, some of this depends on the process that the project follows to take in new submissions, either from an issues list or just random buxfixes. It's a pretty standard GitHub-centric guide to follow though. He also recommends reading this article from Lorna Mitchell about code reviews and what the maintainers of most open source projects will look for in submissions.

tagged: beginner guide opensource github contribute project

Link: http://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/

Sammy Powers:
Contributing to the PHP Manual
Jun 19, 2015 @ 13:23:27

If you've wanted to contribute something back to PHP but aren't familiar with C (or don't feel comfortable enough with it) Sammy Powers offers another solution. In his latest post he shows you how to contribute to the PHP documentation and update the manual for new features, missing information or fixes to current code examples.

If you've been wanting to contribute to PHP internals, starting with the documentation can be a great entry point; especially because it doesn't require dusting off those old C books from college. But knowing where to start can be tricky since information on how to contribute to the docs is scattered across the internet. This article is a step-by-step guide of how to contribute documentation to the PHP manual.

He starts with the "quick and dirty" way of editing the manual through the edit.php.net site, but points out that it's really only useful for smaller changes, not large documentation updates. The rest of the post shows you how to set up the documentation locally and generate the results to validate your changes. He talks some about the DocBook format they're written in, the build process with the PhD (PHP docs generator) and running the php.net test suite against the changes. This ensures that nothing else has broken on the site in the process.

He shows you where to make your changes, how to generate it from either a skeleton or using the docgen script and submitting the changes back to the repository. There's also a few other random changes to make before committing the files back via SVN and pushing them back upstream. He ends the post talking about the GoPHP7-ext project and how to find extensions that are missing documentation or where it's incomplete (easy thanks to an included "check-missing-docs" file included in the repository).

tagged: contribute documentation phpnet manual extension gophp7ext docgen tutorial

Link: https://www.sammyk.me/how-to-contribute-to-php-documentation