The GitHub registry public beta is live
101–110 of 137 posts
Re: The GitHub registry public beta is live
#102Looking at the ruby docs, my interpretation is that if a gem is published only on github registry, there's no good way to use it as an indirect dependency (no good way for a gem to list it as a dependency) -- any app using such a thing would have to know the list of all of these indirect dependencies on github registry, and list them individually in the top-level Gemfile, along with their correct github source. This…
Other platforms (maven/java comes to mind) benefit somewhat due to the compiled nature of artifacts. The immutability of the packages is also handy as you pointed out by the hope and a prayer that a tag stays static. Is there not a global config for rubygems that would specify a list of registries to search for a package instead of having to add them to each project?
So you'd still need to add a separate source for each dependency hosted on github to your own project Gemfile. Including for each indirect dependency, knowing which indirect dependencies exist that need a github repo source.
If you could list this for the entire project... it'd probably be a performance issue as rubygems/bundler check every repo source you list for every dependency (including every indirect dependency; a Rails app has hundreds, still an order of magnitude or two less than a react JS project heh).
Even if you could only list "github's ruby registry" once (per project? for your account? and keep in mind this is hypothetical, you can't), it would still mean any gem expressing a dependency on another gem hosted on github would have to include in it's instructions "oh, if you use this, you need to manually make sure to add github to your sources. Or you'll get an error that says some gem you've never heard of can't be found, and have no idea how to fix it." Unless it's a bid to get _everyone_ to do that, and basically make github ruby registry a standard part of the ecosystem that everyone just always adds to every project.
I don't think there's enough/any value added by the github ruby registry to get the ecosystem to shift like that. It's unclear what it does that the 'standard' rubygems.org gem source doesn't do already (unless rubygems.org can't solve their recent severe compromised account security problems... but as it is, with the indirect dependency problem, I think github registry will be too painful to use even if you'd like to to escape rubygems.org security issues).
https://help.github.com/en/articles/configuring-rubygems-for...
Re: The GitHub registry public beta is live
#103Earlier quoted context omitted.
No, this is a reimplementation of basically every major package server. Now, instead of hosting your Ruby gems on rubygems, NPM packages on the NPM registry, and Python packages on PyPI, you can host them directly alongside your source code. The tools by which you access these package registries are the same, but they can now be backed directly by GitHub.
Which is a glorified wrapper. Why on earth would you make a decision to lock up all of your eggs in the Microsoft basket? Diversity is a good thing. Just look at what's happened to the web industry with Chrome, and now it's basically too late.
Some short-term conveniences come at a very high price in the long run.
Re: The GitHub registry public beta is live
#104Right now, all the major package manager are indirectly making each other better, they experiment, improve and borrow good ideas from each other. It's open-source and there is a little barrier for developers to contribute.
If n years from now GitHub becomes the defacto standard for package managers and replaces all the existing ones the further innovation will be much slower.
It might transform into "Want to improve package managers? You have to work for Microsoft"
Re: The GitHub registry public beta is live
#105Earlier quoted context omitted.
In my experience, using git as a dependency source for NPM (including yarn) or Ruby never worked well. It works for a simple case, but it's usually much slower, has issues around managing credentials for private repos, and doesn't have a nice way to publish built files.
Also, most importantly, Git repositories are not immutable and any package repo that's not immutable is a terrible, terrible idea
[0] https://chiselapp.com/user/rkeene/repository/hashcache/ [1] http://hashcache.rkeene.org/
Re: The GitHub registry public beta is live
#106Deja vu https://github.blog/2008-04-25-github-s-rubygem-server/ And then removed 16 months later: https://github.blog/2009-10-08-gem-building-is-defunct/ Hopefully this one lasts longer.
Customers ability to 1. Punish innovation and 2. Punish a lack of innovation is a little bit hard to overestimate as a Product Manager. Experimentation = bad, no experimentation = also bad. It's like how Google makes some of the best software ever, and also people savagely denounce them every time they kill a failing product. As if they would have learned as fast if they either didn't make the product to begin with o…
If you want to disrespect customers by treating them like disposable guinea pigs (and not even giving them the courtesy of notifying them they're part of an experiment), don't be surprised if they start to catch on and treat your company as if it's disposable, too.
Re: The GitHub registry public beta is live
#107Re: The GitHub registry public beta is live
#108I believe it's going to affect the whole developer community in a bad way. Right now, all the major package manager are indirectly making each other better, they experiment, improve and borrow good ideas from each other. It's open-source and there is a little barrier for developers to contribute. If n years from now GitHub becomes the defacto standard for package managers and replaces all the existing ones the furthe…
This is a replacement for npmjs.com (the hosting service, which is not the same thing as npm the package manager), or for rubygems.org (again, the hosting service, not the gem tool), or for Docker Hub.
If anything, this may actually improve the collaboration between package manager developers because there will now be a large development team that will be working with the backend of various package registries and will have better insight into what each one is doing wrong and what each one is doing right.
Re: The GitHub registry public beta is live
#109Earlier quoted context omitted.
Also, most importantly, Git repositories are not immutable and any package repo that's not immutable is a terrible, terrible idea
Copyright law prevents package repos from being truly immutable. Fortunately a copyright takedown request is not a typical scenario, but it does happen, even with "immutable" repositories like maven-central.
In other words a "copyright takedown request" isn't valid, unless the author was in violation of the copyright of somebody else while publishing those packages and this was decided in a court of law.
It might happen, but I have never heard of Maven Central packages being removed.
But I do see GitHub repos being renamed or removed all the time and I have seen NPM packages removed, for no reason other than the author wanted so, screwing the entire JavaScript ecosystem.
Re: The GitHub registry public beta is live
#110Earlier quoted context omitted.
Copyright law prevents package repos from being truly immutable. Fortunately a copyright takedown request is not a typical scenario, but it does happen, even with "immutable" repositories like maven-central.
Once a piece of software is released as open source, it can be freely distributed. And Maven Central packages require an open source license. The author might own the copyright, but he licensed that copyright away when publishing on Maven Central. In other words a " copyright takedown request " isn't valid, unless the author was in violation of the copyright of somebody else while publishing those packages and this w…
The DMCA process is law. Maven Central (like anyone else who hosts things) have to respond to valid takedown requests (which means taking down content long before any court case; even if a counter-notice is filed the content still has to be taken down temporarily) or else they'd become liable for infringement themselves. It's less common than on github or NPM, sure (which I suspect has more to do with the complexity of maven central's registration process than anything else), but it happens and any host on the scale of maven central needs a process in place for doing it.