My perception of it changed
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).
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.
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 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.