SlideShare a Scribd company logo
Building popular open
source projects
林佑安 / Yo-An Lin / @c9s
Tips & Tricks
• 林佑安 Yo-An Lin (c9s)
• GitHub: @c9s
• Golang / PHP /
JavaScript / Perl
So you might ask
“Is it important to make it popular?”
“Yes!”
群聚效應
“群聚效應(Critical mass) 是⼀一個社會動⼒力學的名詞,
⽤用來描述在⼀一個社會系統裡,某件事情的存在已達⾄至
⼀一個⾜足夠的動量,使它能夠⾃自我維持,並為往後的成
⻑⾧長提供動⼒力。”
若有⼀一個⼈人停下來抬頭往天望,沒有⼈人會理會他,其他
路過的⼈人會照舊繼續他們要做的事情。如果有三個⼈人停
了下來抬頭望天,可能會有多幾個⼈人會停下來看看他們
在做甚麼,但很快⼜又會去繼續他們原來的事。但假若當
街上抬頭向天望的群眾增加⾄至 5 到 7 ⼈人,這時,其他⼈人
可能亦會好奇地加⼊入,看看他們到底在做甚麼。
http://zh.wikipedia.org/wiki/群聚效應
也就是:
當某專案符合某個獨特的市場需求,⽽而且能夠受到注⺫⽬目,
不斷被群眾提起,⾃自然就能吸引更多的開發者重視,並
且加⼊入開發/⽀支援/貢獻。
有了動能,就算專案擁有者沒有持續開發,也可以讓專
案持續前進
開源之道
Allison Randal @ OSDC TW 2012
http://pugs.blogs.com/pugs/2012/04/%E9%96%8B%E6%BA%90%E4%B9%8B%E9%81%93.html
http://allisonrandal.com/2012/04/15/open-source-enlightenment/
“Open source
collaboration”
前提是你的專案要有⼈人
願意參與
如果你想要有更多⼈人願
意參與
If you want more people join in
你必須把 open source
專案視為銷售產品
You need to treat your project as a product
–McCarthy
“4P: Product, Price, Place, Promotion”
–Robert Lauterborn
“4C: Customer needs and wants, Cost to the
customer, Convenience, Communication”
市場潛⼒力
And find the market potential
獨特性
Make it unique
爭議性
Let people discuss
甚⾄至可嘗試負⾯面⾏行銷
You may focus on
creativity / performance /
simple interface / lightweight
implementation / fun
I started using GitHub
since 2009
for fun
and wrote a lot of vim
plugins, perl modules…
Was really busy in the
past few years
Almost work from
9 AM to 2 AM everyday
holiday = working day
Chinese cruel torture
And we released a lot of
open source projects
from them
From back-end to
front-end
phprew, pux, gutscript
and so on…
My public contribution calendar was almost like this,
2013
and private repositories are not included.
Here is what I’ve learned.
And which should be helpful
for small projects to start.
專案
名稱
The name of a project should be easy to
remember
1. Short name
node.js, three.js, gearman, apache, nginx,
jQuery, bootstrap, gem, rails and so on…
2. Pronounceable
You don’t want a project named
“hjkdvbjkGUI” or something
3. Unique
4. Combining words or
making up new words
entirely
YouTube, Facebook, Myspace, GitHub
第⼀一
印象
First Impression
SYNOPSIS
Which I learned from CPAN - an
aged, fantastic site.
Synopsis is important
because…
It may include a workable
example to help others
run a basic program
OSDC.TW 2014   building popular open source projects
And of course, further
development :)
You firstly see the
synopsis of the API,
then read the tediously
long description
先看對⽅方正不正
再看是否進⼀一步交往
⾔言簡
意賅
Easy to understand
• Describe what’s the project doing.
• Details & mechanism later.
友善
授權
License
http://inspire.twgg.org/internet/trends/item/74-comparison-of-five-kinds-of-standard-open-source-license-bsd-
apache-gpl-lgpl-mit.html
五種開源授權規範的⽐比較
• MIT License
• BSD License
• Apache License
• LGPL License
• GPL License
簡易
使⽤用
Easy to use
“設置到使⽤用” ⾮非常重要
From Setup to Use
多環境設置測試
Test on different platforms
減少使⽤用者挫折感
幫助使⽤用者快速建⽴立環境
傻⽠瓜都會⽤用建置步驟
簡易有效的開發環境建
置步驟
使⽤用良好的套件⼯工具避
免 dependency failure
詳細
確實
Details
多數開發者還是依賴⽂文
件開發
少數開發者才會去
trace code
詳細的⽂文件對加⼊入專案
的會很有幫助
完整度的表現
可增加使⽤用意願
且可製造安全感的假象
⽼老⺩王
賣⽠瓜
Promote your project
善⽤用媒體
• Mailing List
• Google Group
• IRC
• Twitter
• Facebook
• Hacker News
• 善⽤用 Mail Signature
多管
閒事
Help others
如果很閒的話 :-p
上 Stack Overflow
“嘿 何不嘗試看看某 xxx 專案,也許符合你的需求。”
打鐵
趁熱
“Hey, I fixed ….”
“Hey, I added a new feature for …”
“What if ….., can we make it?”
If you don’t reply them,
you might lost these
contributors.
Merged pull request
makes people happy,
and they might send
new pull request later…
也就是: 如果你忘了他們
貢獻者也會把你忘了
⽽而且不會回來
If possible, try not to
reject pull requests,
Rejecting pull request
will stop their motivation
盡量不要發好⼈人卡
Help them improve the
pull request and get the
pull request merged.
To prevent rejecting
pull requests
Let them know: discuss
before sending pull
request
正向
循環
Be kind to others
尊重彼此
Respect each other
避免“讀他媽的⽂文件”
No RTFM
–Field of Dreams
“If you build it, they will come.”
Thank you
c9s @ twitter / github / plurk
(Next talk: gutscript)

More Related Content

PDF
Getting merged
PPTX
How to stop sucking and be awesome instead
PDF
Plone - A History of Python Web
PPT
Is Writing More Important Than Programming
PDF
I Wish I knew How to Quit You
PDF
Startups For Journalists
PDF
The Plone is dead, long live the Plone!
PDF
Plone, quo vadis?
Getting merged
How to stop sucking and be awesome instead
Plone - A History of Python Web
Is Writing More Important Than Programming
I Wish I knew How to Quit You
Startups For Journalists
The Plone is dead, long live the Plone!
Plone, quo vadis?

Similar to OSDC.TW 2014 building popular open source projects (15)

PDF
What I learned from being open source
PDF
How to Market Your Open Source Project
PDF
Redmine - a project management system
PDF
Learning notes on Open Source License
PDF
Collaborative Works and Public Licenses (with transcript) / 協同創作與公眾授權(含英文講稿)
PDF
The Rules of Open Source and Collaboration: Copyright and Public License
PDF
Scale14x Patterns and Practices for Open Source Project Success
PDF
Building a Great Team in Open Source - Open Agile 2011
PDF
20160821-osln.tw-跨界扎根的台灣開源法律網絡(PDF)
PDF
Equipment of Contribution
PPTX
OpenChain - The Industry Standard for Open Source Compliance
PPTX
Open source and then some: An Introduction
PDF
Créer une communauté open source: pourquoi ? comment ?
ODP
20160821-osln.tw-跨界扎根的台灣開源法律網絡(ODP)
What I learned from being open source
How to Market Your Open Source Project
Redmine - a project management system
Learning notes on Open Source License
Collaborative Works and Public Licenses (with transcript) / 協同創作與公眾授權(含英文講稿)
The Rules of Open Source and Collaboration: Copyright and Public License
Scale14x Patterns and Practices for Open Source Project Success
Building a Great Team in Open Source - Open Agile 2011
20160821-osln.tw-跨界扎根的台灣開源法律網絡(PDF)
Equipment of Contribution
OpenChain - The Industry Standard for Open Source Compliance
Open source and then some: An Introduction
Créer une communauté open source: pourquoi ? comment ?
20160821-osln.tw-跨界扎根的台灣開源法律網絡(ODP)
Ad

More from Lin Yo-An (12)

PDF
Code Generation in PHP - PHPConf 2015
PDF
OSDC.TW - Gutscript for PHP haters
PDF
Happy Go Programming
PDF
Happy Go Programming Part 1
PDF
Secret sauce of building php applications
PDF
LazyRecord: The Fast ORM for PHP
PDF
Vim Script Programming
PDF
CPAN 模組二三事
PDF
Vim Hacks (OSSF)
PDF
Perl.Hacks.On.Vim Perlchina
PDF
Perl.Hacks.On.Vim
PDF
Vim Hacks
Code Generation in PHP - PHPConf 2015
OSDC.TW - Gutscript for PHP haters
Happy Go Programming
Happy Go Programming Part 1
Secret sauce of building php applications
LazyRecord: The Fast ORM for PHP
Vim Script Programming
CPAN 模組二三事
Vim Hacks (OSSF)
Perl.Hacks.On.Vim Perlchina
Perl.Hacks.On.Vim
Vim Hacks
Ad

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx
Network Security Unit 5.pdf for BCA BBA.
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

OSDC.TW 2014 building popular open source projects