![Page 1: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/1.jpg)
How to Create/Improve OSS Product and Its Community
(Revised with Beer 🍻)java-ja.OSS (2015/10/05)
Satoshi Tagomori (@tagomoris)
![Page 2: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/2.jpg)
Satoshi "Moris" Tagomori (@tagomoris)
Fluentd, Norikra, MessagePack-Ruby, Woothee, ... Docker logging driver for Fluentd (docker v1.8)
Treasure Data, Inc.
![Page 3: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/3.jpg)
–tagomoris 🍻
“I never got mails from Tony Morris.” “Didn't you work about OSS?”
![Page 4: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/4.jpg)
We are hiring!
![Page 5: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/5.jpg)
DataWe
![Page 6: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/6.jpg)
We are hiring!
Skillful Java programmers (+ Ruby!)
& Distributed system engineers
![Page 7: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/7.jpg)
http://yapcasia.org/2015/talk/show/5f5cad74-004a-11e5-acf4-89c77d574c3a
![Page 8: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/8.jpg)
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
![Page 9: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/9.jpg)
http://tagomoris.hatenablog.com/entry/2015/08/31/101025
![Page 10: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/10.jpg)
How to create/improve OSS product and its community
• What the OSS product is for? • What programming language the product is written in? • How do we versioning about the product? • What (natural) language we use around the product? • How can we create the community around the product? • Famous developer people problem • The way to live as a OSS developer
![Page 11: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/11.jpg)
Discussions about OSS development and maintenance
• Clean code vs dirty contributions • Software getting fatty vs small/beautiful new product • All-in-one vs plugin chaos • Japanese for closed/fast vs English for openness
• Which way we should choose?
![Page 12: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/12.jpg)
All OSS products needs: More users
More use-cases More contributions
![Page 13: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/13.jpg)
🍻 Except for exceptions :P
ex: PoC, Just for Fun, ...
![Page 14: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/14.jpg)
What's the OSS Product For?
• OSS version of internal product?
• OSS native?
• Internal use + alpha?
• Internal use primary, Global use secondary?
• Global use primary, Internal use secondary?
• Global use primary (and nothing else)?
![Page 15: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/15.jpg)
What's the OSS Product For? (2)
• What depends on "What the OSS Product Is For?"
• Core developer selection
• How to accept contribution
• How to maintain that software
![Page 16: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/16.jpg)
What's the OSS Product For? (3)
• Things nice to have to create/improve community
• Open developer team
• Open steps for contribution
• Support from a company
![Page 17: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/17.jpg)
What (Natural) Language We Use Around the Product?
• English! English! English!
• Almost all things around the product should be done in English:
• Code/Commit comments
• Issues, Pull-requests, Mailing lists
• Software design sheets / its drafts
![Page 18: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/18.jpg)
What (Natural) Language We Use Around the Product?
• What important is to express: "We DON'T exclude you."by using English
![Page 19: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/19.jpg)
How does spoil using English our skill?
🍻 It can't be measured
if we use only Enligh :P
![Page 20: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/20.jpg)
How Can We Create the Community around the Product?
• Create/Maintain good software
• Be open for contribution
• Show it's stable and still under maintenance
• Communicate with people all over the world in English
![Page 21: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/21.jpg)
How Can We Create the Community around the Product?
(2)
• One more thing: Pluggable/module architecture
• Apache httpd, Nginx, Linux kernel, ...
• Emacs, Vim, Eclipse, IntelliJ IDEA (and many IDEs), ...
• Plagger, Fluentd, ...
• Pluggable architecture makes user community to be developer community!
![Page 22: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/22.jpg)
The Way to Live as an OSS developer
• We can't create a super product at first
• Nobody can create a super product without continuous improvement
![Page 23: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/23.jpg)
The Way to Live as an OSS developer
Do it, and keep doing it.
![Page 24: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/24.jpg)
pictures of beers or something else
break...
![Page 25: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/25.jpg)
Discussions about OSS development and maintenance• Clean code vs dirty contributions • Software getting fatty vs small/beautiful new product • All-in-one vs plugin chaos • Japanese for closed/fast development vs English for openness
• What should we do?
![Page 26: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/26.jpg)
🍻 Clean code vs dirty contribution
• Bad feature: Say "NO!"
• Good feature:
• Someone said: "OK, I'll write a patch to solve it!"
• Good code: "Great, merged!"
• Bad code: .... 🍻
![Page 27: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/27.jpg)
🍻 Software getting fatty vs
Small/beautiful new product
• Docker vs Rocket
• (Language what you're using) vs Golang
• Recent Hashicorp products vs Past these
![Page 28: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/28.jpg)
🍻 All-in-one vs plugin chaos
• For example: Logstash and Fluentd
• Logstash has many well-organized plugins
• And large developer team
• Well managed plugin portfolio, controlled by someone
• Fluentd only has APIs (and few built-in plugins)
• And very small committer team
• Uncontrolled plugin chaos, contributed by many people
![Page 29: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/29.jpg)
🍻 Japanese for closed/fast development
vs English for openness
![Page 30: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/30.jpg)
🍻 Japanese for closed/fast development
vs English for openness• "divide and conquer" by using local language
• it's reasonable only if:
• local community has many leading engineers in the world
• team has enough resource to publish the product in whole world when it goes global
• IMO, it's not reasonable for many cases
![Page 31: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/31.jpg)
What should we do?
Many things make many limitations...
![Page 32: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/32.jpg)
🍻
What should we do?
![Page 33: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/33.jpg)
What should we do?
• We have not so many options:
• Limited English? or not-so-limited Japanese?
• Dirty hack? or not-so-beautiful code?
• Local strong closed team and (strong marketing team + money)? or global weak spreading team?
• We must choose the way to go every time
![Page 34: How to create/improve OSS product and its community (revised)](https://reader034.vdocuments.mx/reader034/viewer/2022052606/587322dc1a28ab673e8b7d21/html5/thumbnails/34.jpg)
The Way to Live as an OSS developer
Do it, and keep doing it. (again)