daviddengcn / gcse

Project for Go Search, a search engine for finding popular and relevant packages.
http://go-search.org/
BSD 2-Clause "Simplified" License
277 stars 45 forks source link

Be able to detect forks #7

Open kdar opened 11 years ago

kdar commented 11 years ago

On sites like github, you can see if a project is a fork of another. It would be nice if the output of the search could show a tree hierarchy, where the main project is first and all the forks are under it. Or maybe some other idea that's similar.

daviddengcn commented 11 years ago

What's the use of the tree hierachy?

robertmeta commented 11 years ago

Well, not sure how useful a "tree" is, but the network graph on github is an amazing way of finding the most active developers of a project (or most active forks). This is exceptionally useful after projects are abandoned and picked up by others, you can find the most active, furthest right thing on the network graph.

I wonder if it is really more useful that just following the places other projects link to (let the network as followed by GCSE determine the value, IE: people).

daviddengcn commented 11 years ago

I've been thinking of the relation between original package and the fork.

  1. original is a good one, forking version is trivial or same with original one. this time, people should import original one
  2. Or original one is dead, but somebody else fork and keep on developing, people should import the forked version

At the end, I think this can be decided by analyzing the importing situation: most person know which one to import, so just choose the one imported by more person. This is the current ranking algorithm.

kdar commented 11 years ago

I'm just saying in terms of organizing the search output. It's not clear if a project is a fork of another, or that it is a totally different project with the same name (obviously you can find out if you investigate further). You can basically do what google does where if you search for a term, it will group up the same term found on the same domain.

For example, if you search for the term "docker" on go-search.org, you will see many many entries. Most of these entries are just forks from the main docker repository, where someone forked it just to fix a bug. I was just merely suggesting that you could organize the search results like:

Was just an idea. Could incorporate what robermeta mentioned and display the more active one first.

daviddengcn commented 11 years ago

detecting bug-fix fork is a good idea