神刀安全网

Capistrano maintainers add new dependency as promo for their paid web-service

Today I was updating my project’s gems and I’ve noticed something new: airbrussh and capistrano-harrow . Turns out that the latest version of Capistrano gem (3.5.0) added 2 new dependencies . First of all, adding new dependencies is considered a kinda bad thing to do, especially in such wide used project as Capistrano. We should make effort to shrink them, not blow them up.

Capistrano maintainers add new dependency as promo for their paid web-service

So I thought, maybe these gems were absolutely required to make new version of Capistrano more awesome? What are they doing?

  • airbrussh – adds a new way to format Capistrano output. OK, that’s a little bit useful, but totally not worth a whole extra dependency. Should be an external plugin or just a part of basic Capistrano gem.
  • capistrano-harrow – integrates Capistrano with Harrow.io CI web-service. What? So, if I don’t use Harrow, this gem does nothing for me? And this dud is installed on every machine along with Capistrano gem?

Harrow doesn’t even have a free plan. Everyone is being pushed to use this service and pay money.

Worst thing is to disable this gem I have to make actions. I have to spent my time and clog my git config. Unbelievable!

I understand that maintainers of Capistrano are allowed to do anything with their own project. I also understand that their work is often unrewarded and non paid. They’ve probably created Harrow to support and fund further development of Capistrano. But the way this situation is handled is morally wrong and goes against open source principles.

Imagine if Yehuda Katz added his commercial web-service Skylight.io as a dependency for bundler gem, which he also created? Or if DHH added Basecamp as a dependency for Rails? Just, you know, for easier integration in case you’ll need it sometime?

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Capistrano maintainers add new dependency as promo for their paid web-service

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址