O'Reilly, the book publishers, have created a site called CodeZoo to help developers "find high-quality, freely available, reusable components". The site allows users to categorize components in a hierarchical taxonomy. Sample top level categories include: Business Systems, Commercial Software Interfaces, Database, Media, and XML, with the "Media" category having subcategories such as "Graphics" and "Sound/Audio," for example.
- Posted by: Joseph Ottinger
- Posted on: April 06 2005 08:19 EDT
Components can be placed in multiple categories. For example, "Barbecue," a bar-code library, appears in Media/Graphics, Business Systems, Data Formats, Printing, and a few others. This gives one a better opportunity to locate a component when it functions in more than one category. However, there is no apparent mechanism to easily find out which categories Barbecue has been placed in.
CodeZoo gives you access to the projects by providing links. One can also download the component directly from their site. Once registered, users can contribute feedback in the forms of tips, ratings, and comments. Other services include integrated testing resources, but it is not clear how this particular service will function.
CodeZoo looks like another centralized repository for resources, and has some features that look useful. Will you use it? Does it have the features you need? If not, what features do you think the perfect repository would have?
- O'Reilly launches CodeZoo, to help find reusable code by Ilya Sterin on April 06 2005 10:56 EDT
- Give credit where credit is due... by Joe Attardi on April 06 2005 11:10 EDT
- O'Reilly launches CodeZoo, to help find reusable code by PJ Murray on April 07 2005 04:58 EDT
O'Reilly launches CodeZoo, to help find reusable code by Lars Stitz on April 07 2005 06:37 EDT
- O'Reilly launches CodeZoo, to help find reusable code by JT Wenting on April 08 2005 02:24 EDT
- O'Reilly launches CodeZoo, to help find reusable code by Lars Stitz on April 07 2005 06:37 EDT
- O'Reilly launches CodeZoo, to help find reusable code by Mrinal Kanti on April 07 2005 01:24 EDT
- to help find reusable code? :) by Sergiy Litsenko on April 07 2005 03:17 EDT
- Another Link by Casual Visitor on April 07 2005 06:16 EDT
- Not really a component repository ... by Phil Zoio on April 07 2005 09:03 EDT
- What I'D like to see by Jason Carreira on April 07 2005 11:10 EDT
- O'Reilly launches CodeZoo, to help find reusable code by Ivo Limmen on April 08 2005 04:16 EDT
I wonder how long it will take until it's full of outdated old implementations and useless libraries. It looks clean now, but once they start getting traffic, I wonder how good they can manage it.
Well, it IS from O'Reilly. I have yet to be disappointed by O'Reilly - I think that it will be a great resource.
Isn't there already Sourceforge, freshmeat, Eclipse plugins, etc?
Not sure I see what's new here, except for maybe a better index and search? Hopefully it will offer some innovations.
At least it has an appropriate name... lol
At least it has an appropriate name...
Actually, that's exactly what I think too. One goes to a zoo to see caged dangerous and exotic animals which one would not like to meet in the wilderness. It's so much safer this way...
On the other hand, the animals shown at a zoo are too fat, lazy, and will not do what you expect of them (e.g. follow their natural habits). In many zoos, animals are badly tended, and the neglect shows both in their outward appearance and behaviour.
And you can't just reintroduce animals that have been living in the zoo to the wild...
Just my 2 cents,
... or www.jars.com
Isn't there already Sourceforge, freshmeat, Eclipse plugins, etc?Not sure I see what's new here, except for maybe a better index and search? Hopefully it will offer some innovations.
They intend to consolidate information about where to find things that can actually be used productively.
They're not about hosting a gazillion dead projects, but about pointing users to the few real gems among those gazillion projects that ARE in active development and actually have added value for realworld use rather than being someone's hobby.
Why all the negative comments?
If anyone can pull this off, it's O'Reilly.
They have a great record to date ...
Java Code Generation for Data Persistence
Why all the negative comments?
1) They contained lots of code which I wouldn't touch with a ten foot pole. It was like people mistook the repositories for a virtual bottle bank -- "Please recycle your unmaintainable code here".
2) You seldomly were able to actually find code that solved your problem at hand. This was mostly due to the fact that the structure of the repository was to coarsely grained, and the search criteria were not precise enough. Even worse, developers were enabled to classify their components themselves. You had two categories of classifiers: The ones who placed their component in every available category, and the ones who chose only one, but (as Murphy mandates) the wrong one for the search at hand.
3) Most components required third party libs. Naturally the dependencies were not noted anywhere, so after downloading a 100 kB component you found out that you needed about 10 MB of libraries, all of them incompatible to the libs you were currently using.
4) If you were lucky and only searching for a very general or very small solution (code fragments or utility classes, for instance), you were able to find what you were looking for (in approximately the same amount of time that you'd have needed if you had written the solution yourself). But now you had to treat yourself and the foreign code in question to a refactoring binge deluxe to incorporate the solution into your project...
If anyone can pull this off, it's O'Reilly. They have a great record to date ...
I'd say it were Google -- they are the crowned kings of useful information retrieval at the moment. Keep in mind that the long term aim of such a project must be to be able to retrieve code that solves a given problem, not only to store some code.
If anyone can pull this off, it's O'Reilly. They have a great record to date ...I'd say it were Google -- they are the crowned kings of useful information retrieval at the moment. Keep in mind that the long term aim of such a project must be to be able to retrieve code that solves a given problem, not only to store some code.Cheers,Lars
1) That's why O'Reilly isn't making it another sourceforge which is indeed a dump for unmaintainable code. Dump it there and hope someone will hop in to clean it up and complete it to working form...
CodeZoo seems to be a human-maintained catalogue of projects that ARE good to use in the wild. More like a hunting lodge in a gamepark than a zoo, but that wouldn't be a politically name would it?
2) Google would make an index of every project at sf.net and call that their "useful" project. They're useless for catalogueing their finds based on usefulness.
I use both Safari from Oreilly and SourceForge (XServerPages). Both theses services are really GREAT !!!. SourceForge has got more advanced features (rather than just hosting and indexing) for open source developers. It would be interesting to see what Oreilly has up their sleeves as a differentiator.
Hope it doesn't turn up as another code dumping yard adding more junk than value. With so many open source hosts around it becomes increasingly difficult to find the right tool for the right job.
Welcome to The Apache Software Foundation
For instance, The Jacarta Commons provides plenty of reusable small frameworks.
"find high-quality, freely available, reusable components".
Looking at the contents, this is not a repository of components, but rather a repository of libraries and tools. What's really needed is a proper component repository, with reusable code at a much lower lever of granularity. Such components should perform a specific function or have a specific role in life. They should be well documented (with examples) plus information on their API contract, life cycle external dependencies. Such a component repository would be of much more value than just another collection of libraries.
This article has a few good ideas: http://www.onjava.com/pub/a/onjava/2005/03/23/components.html
I'd like to see this be an extension on the Ivy repository idea (http://www.jayasoft.fr/org/ivyrep/). Basically, along with the distribution of the library it would also include meta-data about the projects dependencies. This data could be stored in the database for the Oreilly site so it could be more easily used in the website. What I'd like to do is:
I choose that I want to use Spring 1.2 RC1, Hibernate 3.0, and WebWork 2.1.7. It shows me the dependency graph of all of the other libraries the top-level libraries depend on, and highlight any possible version conflicts. It would also be good to be able to "check out" and have it build a big zip file with all of the libraries I've chosen and their dependencies.
They could also have extra meta-data about the libraries for runtime environments and support for other libraries. For instance, library X 1.2 may not work under JDK 1.5, and Spring 1.4 doesn't have support for Hibernate 3.0.
I think there's a lot of value in aggregating library meta-data and providing search and other features on top of it.
The first step is to define the relationship stereotypes. Ones to start with include:
* depends on
* works with
* supports (i.e. provides specific support classes)
* does not work with
I have to say that I like the idea but I allready found a similar service: http://java-source.net/. O'Reilly only indexes Java libraries and I program in Java & .NET. Mine also has a .NET counter site: http://csharp-source.net/.
I still welcome the site because O'Reilly's is a really good company that supports open source and I think this can help provide some good PR for the open source community.
so, lots of negative comments, and people saying 'what we need is...'
you do it!