OpenSource from inside

Alexander Makarov

Yii core team

What is OpenSource?

My perception of it changed

  • Before.
  • After.

Perfeception before

  • I don't have to pay for it! Yay!

How it sucked me in

  • In 2005 I worked for Siemens.
  • In 2007 I've outsourced and used Java.
  • Private projects weren't convinient to deploy with Java...
  • So I've used PHP. CodeIgniter.

Yii

  • At some point I was disappointed about CodeIgniter.
  • Tried ZF, Symfony, CakePHP and more.
  • Visited Yii website by accident. Site was awful.
  • Read docs and docs made sense.
  • Launched yiiframework.ru (2009).
  • Started to contribute actively.
  • Was invited to core team (2010).

Perception after

  • Collective work where every participant benefit.
  • Free to use but isn't free to create.

What for?

  • Together you can build better product.
  • More testing that you'll ever be able to do alone.
  • Can learn from others.
  • New faces.
  • Can learn to work remotely and improve your English.
  • Profit?!

Problems

  • Time.
  • Energy.
  • Money.
  • Expectations.
  • Popularity.

Time

  • There's not enough time for everything.
  • Hero syndrome and a cult of being busy.

Energy

  • Burnout.
  • Emotional drain.
  • Every year there is the same topic at Linux conferences: "Is Linus happy?".
  • In Yii community burnouts happen and aren't that rare.
  • There were cases in the core team.
  • Example from Doctrine.

Money

Where are money in OpenSource?!

Not Yii cases

  • Selling licenses (MariaDB).
  • Consulting. Not so good... (Sphinx).
  • Paid learning materials (Laravel).
  • Complimentary SAAS with recurrent payments (Laravel).

What about Yii?

No money. At least for now...

?!

  • Yes, I've worked on Yii for 8 years for free.
  • Yes, the rest of the core team as well.

And it's not bad

  • Consulting (not much but still there's some).
  • Cool jobs (CleverTech, Stay.com).
  • Conferences.
  • Gifts (hello, JetBrains).

Patreon

A service to finance a project or a person with recurrent payments.

  • Launced a campaign there.
  • Got enough to dedicate at least some time to work on Yii.
  • If I'll get more there will be no need to do anything else.
  • Good motivation.

Expectations

Many people do think that Yii is commercial company and that core team are employees.

OpenSource is about doing it together.

Popularity

There are always unhappy users.

  • New issue and pull requests are created continuously.
  • Different feedback. Negative is voiced often. Positive is voiced rare.

What to do with all that?!

  • The project is definitely needed.
  • We want to enjoy life.
  • Time is finite.
  • Enjoy positive part of it.
  • Constructive critics and haters aren't the same.
  • Do not try to do many things at the same time (if possible).
  • Do not try to do more than you can.

Useful part

Which you can actually apply...

Checklist

+10 to attractiveness of your project.

Main points

  • Short description: what it is and what is it for.
  • English!
  • Documentation.
  • phpdoc (jsdoc, javadoc).
  • Tests and CI.
  • Put more attention into readme.
  • Screenshots and logo.

Main points

  • Coding standard (PSR or any other).
  • Handle issues for real.
  • Announce it everywhere (Facebook, YiiFeed, forums, reddit).
  • Choose a good license.
  • Choose versioning policy and follow it.
  • packagist (npm, bower).

These are important as well

  • Support website.
  • Website and repo should be cross-linked.
  • Turn off wiki and projects if these aren't used.
  • Fill GitHub tags.
  • CONTRIBUTING.md.
  • Announce releases.

Some links

Some self-advertising

  • https://www.patreon.com/samdark
  • I can polish your OpenSource project.
  • I can do code review: Yii, security, code overall.
  • I can consult.
  • I can train.
  • I can implement small OpenSource solutions for your problems.
  • I can write articles.

Questions time!


http://slides.rmcreative.ru/2017/yiiconf-opensource-en/