Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Future of Ruby Ecosystem
SHIBATA Hiroshi / GMO Pepabo, inc.
2017.03.28 Ruby Workshop
Gemification plan of
Standard Library ...
Executive Officer CPO(Chief Productivity Officer)
Director of Business Process Re-engineering Office
Hiroshi SHIBATA @hsbt
ht...
self.introduce
=>
{
name: “SHIBATA Hiroshi”,
nickname: “hsbt”,
commit_bits: [“ruby”, “rake”, “rubygems”, “rdoc”, “psych”, ...
Gemification for stdlib
• We extract old or un-maintain status stdlibs like net-telnet, xmlrpc,
tk to bundled gems.
• These...
Ruby Core Maintenance Policy
Standard Libraries
Each maintainers
Default gems
Each maintainers
Bundled Gems
Hiroshi SHIBAT...
What differences these libraries?
Standard Libraries
- Upstream: Only Ruby core repository(svn.ruby-lang.org)
- Release cy...
Pros/Cons of Gemification
Pros:
- Maintainers can release gem for bugfix, new feature independent with Ruby core.
- Easily ...
What number of these libraries - 2.4.0
Standard Libraries
- Pure ruby: 69
- Extensions: 23
Default gems
- Pure ruby: 1
- E...
What number of these libraries - 2.5.0
Standard Libraries
- Pure ruby: 64 (-5)
- Extensions: 14 (-9)
Default gems
- Pure r...
Status of OpenSSL binding
• OpenSSL is already extracted default gems. You can update it
separated ruby core releases same...
Concerns of Gemification(1)
Bundled gems couldn’t support cross compilation. Therefore, some
extensions of default gems can...
Concerns of Gemification(2)
Namespaces of standard library was reserved.
- https://rubygems.org/gems/fileutils
- https://ru...
Concerns of Gemification(3)
We need test suite for bundled gem with ruby trunk.
PoC of unak: https://gist.github.com/unak/a...
References
Gemifying Ruby standard library:
https://bugs.ruby-lang.org/issues/5481
Maintainers and libraries list of ruby ...
Upcoming SlideShare
Loading in …5
×

Gemification plan of Standard Library on Ruby

121 views

Published on

Future of Ruby ecosystem

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Gemification plan of Standard Library on Ruby

  1. 1. Future of Ruby Ecosystem SHIBATA Hiroshi / GMO Pepabo, inc. 2017.03.28 Ruby Workshop Gemification plan of Standard Library on Ruby
  2. 2. Executive Officer CPO(Chief Productivity Officer) Director of Business Process Re-engineering Office Hiroshi SHIBATA @hsbt https://www.hsbt.org
  3. 3. self.introduce => { name: “SHIBATA Hiroshi”, nickname: “hsbt”, commit_bits: [“ruby”, “rake”, “rubygems”, “rdoc”, “psych”, “syck”, “ruby- build”, “railsgirls”, “railsgirls-jp”, …], sites: [“hsbt.org”, “ruby-lang.org”, “rubyci.org”, “railsgirls.com”, “railsgirls.jp”], }
  4. 4. Gemification for stdlib • We extract old or un-maintain status stdlibs like net-telnet, xmlrpc, tk to bundled gems. • These are extracted under the https://github.com/ruby/ . And shipped on rubygems.org • Other gems are also extracted at the future.
  5. 5. Ruby Core Maintenance Policy Standard Libraries Each maintainers Default gems Each maintainers Bundled Gems Hiroshi SHIBATA(hsbt), Nobuyoshi Nakada(nobu)
  6. 6. What differences these libraries? Standard Libraries - Upstream: Only Ruby core repository(svn.ruby-lang.org) - Release cycle: 1 year Default gems - Upstream: Ruby core repository and GitHub - Release cycle: 1year or maintainers matter Bundled Gems - Upstream: Only GitHub - Release cycle: Maintainers matter
  7. 7. Pros/Cons of Gemification Pros: - Maintainers can release gem for bugfix, new feature independent with Ruby core. - Easily back port stable version from develop version. Ruby users can use new feature on stable version. - If upstream is available on GitHub, Ruby users easily send patch via Pull request. Cons: - Abandoned and complex dependency. Ex. Pathname depends FileUtils. - Maintainers need to maintain ruby core and GitHub repositories both.
  8. 8. What number of these libraries - 2.4.0 Standard Libraries - Pure ruby: 69 - Extensions: 23 Default gems - Pure ruby: 1 - Extensions: 5 Bundled Gems - Pure ruby: 7 - Extensions: 0
  9. 9. What number of these libraries - 2.5.0 Standard Libraries - Pure ruby: 64 (-5) - Extensions: 14 (-9) Default gems - Pure ruby: 6 (+5) - Extensions: 14 (+9) Bundled Gems - Pure ruby: 7 - Extensions: 0
  10. 10. Status of OpenSSL binding • OpenSSL is already extracted default gems. You can update it separated ruby core releases same as rubygems, rdoc, bigdecimal. • https://github.com/ruby/openssl • It’s maintained by @rhe • Upstream was changed github repository from svn.ruby-lang.org • He aggressively maintains new feature of openssl
  11. 11. Concerns of Gemification(1) Bundled gems couldn’t support cross compilation. Therefore, some extensions of default gems can’t escalate verification status bundled gems from default gems. We need to make Date gem to bundled gem before extracted from ruby core.
  12. 12. Concerns of Gemification(2) Namespaces of standard library was reserved. - https://rubygems.org/gems/fileutils - https://rubygems.org/gems/webrick - etc… Some of gems like fileutils are completely different implementation from ruby standard library. If users invoke `gem install fileutils`, it broke their environment. We must offer to transfer ownership of these gems to rubygems.org.
  13. 13. Concerns of Gemification(3) We need test suite for bundled gem with ruby trunk. PoC of unak: https://gist.github.com/unak/a80b03d9a33de59bedb52e2711410e0d No one guarantee work bundled gems and develop version of ruby.
  14. 14. References Gemifying Ruby standard library: https://bugs.ruby-lang.org/issues/5481 Maintainers and libraries list of ruby core repository: https://github.com/ruby/ruby/blob/trunk/doc/standard_library.rdoc https://github.com/ruby/ruby/blob/trunk/doc/maintainers.rdoc Remove tk entry from blacklist: https://github.com/rubygems/rubygems.org/pull/1378

×