Question

Below is one example of several I've found recently.

$bower search angular-ui-bootstrap
Search results:
  angular-ui-bootstrap git://github.com/angular-ui/bootstrap.git
  angular-ui-bootstrap-bower git://github.com/angular-ui/bootstrap-bower
  angular-ui-bootstrap3 git://github.com/kkruit/angular-ui-bootstrap3-bower.git
  angular-ui-bootstrap-complete git://github.com/datapad/bower-angular-ui-bootstrap-complete.git

The first entry seems to be the "official" bower repo with documentation and a license file, while the others appear to be someone's personal repo that contains some parts of the "official" repo minus the license, readme, documentation, etc...

The last one appears to be some shell script that operates on an "official" repo clone.

If people want to do this for themselves, I don't really care, but how does crap like this end up in the bower list? When I do a bower search, I'd like to find a pretty clear winner, but as it is I have to go digging thru which of these entries is the right one, and in the current case of Bootstrap 2/3 changeover it requires even more scrutiny.

The whole point of yeoman and bower is to make it easier to get things up and running quicker, but the pool of bower repos is polluted such that the signal to noise ratio is far to the right and into the noise category. Is there no requirement imposed on those that create bower repos?

Is there some reason this is being done?

Was it helpful?

Solution

Is there some reason this is being done?

Repos like Bower are self managed by the community, that's the only way you can provide a free service like that at scale, but each of those repos serves a role, if only for one person because if someone wants to register their package they can do so.

Perhaps most importantly I don't think Bower is positioned as a discovery tool, but a deployment tool first, which grants a level of discovery as a bonus but the main focus is on providing a consistent way to roll out packages, so in time I'm sure the additional features will mature too, but right now it's still early days and the project acknowledges that looking over the info at http://bower.io

With this specific case, the two official repos serve two purposes:

angular-ui-bootstrap Gives you everything, which you need if you want to modify template files or need just subsets of the code.

angular-ui-bootstrap-bower Gives you just the specific files you need to run everything as is, without any manual steps.

So there's a bit of a choice, and it might not be as clear as it could be, but that's the solution several repos I've seen have started to adopt. If you browse the search online, you also get the addition of download counts and github repo stars which gives a clear indication of which of the choices is most popular.

I totally agree it can be a pain, but I don't see any alternative that can scale as a community based project, but I'm sure in time people will get better at preparing their packages for distribution and take more consideration in the early design phases to facilitate that more cleanly.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top