how to create/improve oss products and its community

22
How to Create/Improve OSS Product and Its Community YAPC::Asia 2015 (2015/08/16) Satoshi Tagomori (@tagomoris)

Upload: satoshi-tagomori

Post on 16-Apr-2017

41.500 views

Category:

Technology


4 download

TRANSCRIPT

How to Create/Improve OSS Product and Its Community

YAPC::Asia 2015 (2015/08/16) Satoshi Tagomori (@tagomoris)

Satoshi "Moris" Tagomori (@tagomoris)

Fluentd, Norikra, MessagePack-Ruby,... CPAN: Net::Hadoop::WebHDFS, Woothee, Norikra::Client, ...

Docker logging driver for Fluentd (docker v1.8)

Treasure Data, Inc.

We are hiring!

DataWe

Qualify: Sep 26,27 (online) Final: Oct 31 (Hikarie)

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

All OSS products needs: More users

More use-cases More contributions

What the OSS Product Is 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)?

What the OSS Product Is For? (2)

• What depends on "What the OSS Product Is For?"

• Core developer selection

• How to accept contribution

• How to maintain that software

What the OSS Product Is For? (3)

• Goods to create/improve community

• Open developer team

• Open steps for contribution

• Support from a company

What Programming Language the Product Is Written in?

• Perl? Ruby? Python? PHP? JavaScript? Java? Scala? Clojure? C? C++? Golang? Objective-C? Erlang? Haskell? ...

• Once you wrote it in Perl, Scala people don't take a glance on it. (strongly biased :P) (community side issue)

• Data processing world is dominated by JVM (runtime side issue)

How Do We Versioning about the Product?

• Versioning says that:

• it's unstable or not

• it's still under development or not

• it's still under maintenance or not

• Unstable version requires a lot "Air Reading"

• Miyagawa's 0.99 product is safe! (really?)

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

What (Natural) Language We Use Around the Product?

• What important is to express: "We DON'T exclude you."by using English

pictures of beers or something else

break...

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

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

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!

Famous Developer Problem

• Some OSS products seems to become famous easily!

• especially from famous developers....

• DON'T mind it!

• There's many reason which we can't know

• Good looking point

• Existing (but unknown) use cases

The Way to Live as a OSS developer

• We can't create a super product at first

• Anyone can't create a super product without continuous improvement

The Way to Live as a OSS developer

Do it, and keep doing it.

Thank you!