SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Future of Ruby Ecosystem
SHIBATA Hiroshi / GMO Pepabo, inc.
2017.03.28 Ruby Workshop
Gemification plan of
Standard Library on Ruby
Executive Officer CPO(Chief Productivity Officer)
Director of Business Process Re-engineering Office
Hiroshi SHIBATA @hsbt
https://www.hsbt.org
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”],
}
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.
Ruby Core Maintenance Policy
Standard Libraries
Each maintainers
Default gems
Each maintainers
Bundled Gems
Hiroshi SHIBATA(hsbt), Nobuyoshi Nakada(nobu)
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
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.
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
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
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
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.
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.
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.
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

Mais conteúdo relacionado

Mais procurados

20140425 ruby conftaiwan2014
20140425 ruby conftaiwan201420140425 ruby conftaiwan2014
20140425 ruby conftaiwan2014
Hiroshi SHIBATA
 
20140419 oedo rubykaigi04
20140419 oedo rubykaigi0420140419 oedo rubykaigi04
20140419 oedo rubykaigi04
Hiroshi SHIBATA
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Hiroshi SHIBATA
 

Mais procurados (20)

The details of CI/CD environment for Ruby
The details of CI/CD environment for RubyThe details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
Practical ngx_mruby
Practical ngx_mrubyPractical ngx_mruby
Practical ngx_mruby
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
Middleware as Code with mruby
Middleware as Code with mrubyMiddleware as Code with mruby
Middleware as Code with mruby
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
Gems on Ruby
Gems on RubyGems on Ruby
Gems on Ruby
 
RubyGems 3 & 4
RubyGems 3 & 4RubyGems 3 & 4
RubyGems 3 & 4
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
How to test code with mruby
How to test code with mrubyHow to test code with mruby
How to test code with mruby
 
20140425 ruby conftaiwan2014
20140425 ruby conftaiwan201420140425 ruby conftaiwan2014
20140425 ruby conftaiwan2014
 
20140419 oedo rubykaigi04
20140419 oedo rubykaigi0420140419 oedo rubykaigi04
20140419 oedo rubykaigi04
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
 
20140918 ruby kaigi2014
20140918 ruby kaigi201420140918 ruby kaigi2014
20140918 ruby kaigi2014
 
RubyGems 3 & 4
RubyGems 3 & 4RubyGems 3 & 4
RubyGems 3 & 4
 
Gate of Agile Web Development
Gate of Agile Web DevelopmentGate of Agile Web Development
Gate of Agile Web Development
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
 
What's new in RubyGems3
What's new in RubyGems3What's new in RubyGems3
What's new in RubyGems3
 
20140925 rails pacific
20140925 rails pacific20140925 rails pacific
20140925 rails pacific
 

Semelhante a Gemification plan of Standard Library on Ruby

RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Rails
elliando dias
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
elliando dias
 
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
Michael Kimathi
 
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
gwhathistory
 

Semelhante a Gemification plan of Standard Library on Ruby (20)

Gems on Ruby
Gems on RubyGems on Ruby
Gems on Ruby
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
The Future of Bundled Bundler
The Future of Bundled BundlerThe Future of Bundled Bundler
The Future of Bundled Bundler
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
 
OSS Security the hard way
OSS Security the hard wayOSS Security the hard way
OSS Security the hard way
 
Crate - ruby based standalone executables
Crate - ruby based standalone executablesCrate - ruby based standalone executables
Crate - ruby based standalone executables
 
Week6
Week6Week6
Week6
 
RubyConfBD 2013 decouple, bundle and share with ruby gems
RubyConfBD 2013   decouple, bundle and share with ruby gems RubyConfBD 2013   decouple, bundle and share with ruby gems
RubyConfBD 2013 decouple, bundle and share with ruby gems
 
The Future of library dependency management of Ruby
 The Future of library dependency management of Ruby The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
 
RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Rails
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
Parsing and Rewriting Ruby Templates
Parsing and Rewriting Ruby TemplatesParsing and Rewriting Ruby Templates
Parsing and Rewriting Ruby Templates
 
A simple introduction to redis
A simple introduction to redisA simple introduction to redis
A simple introduction to redis
 
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
 
Top 10 lessons learned from deploying hadoop in a private cloud
Top 10 lessons learned from deploying hadoop in a private cloudTop 10 lessons learned from deploying hadoop in a private cloud
Top 10 lessons learned from deploying hadoop in a private cloud
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
 
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
Opal,The Journey from Javascript to Ruby at Ruby Conf Kenya 2017 by Bozhidar ...
 
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
Lessons Learned Setting Up the OSM Stack Workshop SotM US 2013
 

Mais de Hiroshi SHIBATA

Mais de Hiroshi SHIBATA (10)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023
 
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
 
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
 
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発
 
Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?
 
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
 
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
 
Ruby Security the Hard Way
Ruby Security the Hard WayRuby Security the Hard Way
Ruby Security the Hard Way
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Gemification plan of Standard Library on Ruby

  • 1. Future of Ruby Ecosystem SHIBATA Hiroshi / GMO Pepabo, inc. 2017.03.28 Ruby Workshop Gemification plan of Standard Library on Ruby
  • 2. Executive Officer CPO(Chief Productivity Officer) Director of Business Process Re-engineering Office Hiroshi SHIBATA @hsbt https://www.hsbt.org
  • 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. 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. Ruby Core Maintenance Policy Standard Libraries Each maintainers Default gems Each maintainers Bundled Gems Hiroshi SHIBATA(hsbt), Nobuyoshi Nakada(nobu)
  • 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. 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. 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. 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. 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. 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. 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. 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. 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