Open Hub FAQ


How often is my project report updated?

All projects on Open Hub are automatically updated on a rotating basis. Most projects on Open Hub are updated every 48 hours, but we are occasionally slower than this. Our server farm prioritizes new projects over updates to existing ones, so during heavy traffic periods we may fall behind on updates.

A chart of our update progress and more detailed explanation can be found on the status page.

If you are looking for support for updating your enlistment, please review the question below on what to do if Open Hub fails to download your project’s source code, or contact us on the forums

Please add support for my language!

Although the number of computer languages supported by Open Hub is growing rapidly, there are always more languages to be implemented.

Languages are indentified and analyzed by Ohcount, an open source line counting application. The source code and bug tracker are available at the Ohcount GitHub repository. We happily accept source code patches to add support for new languages.

Oops! I added a project by mistake. How do I delete it?

Every edit to Open Hub is recorded in the Edit History, and you can undo any change.

From the main project page on Open Hub, click the Edit History link in the left sidebar. This will take you to the list of all edits made to this project.

The very oldest edit to the project will be the “Project created” item. Click UNDO on this item to remove the project from Open Hub.

How are related projects determined?

Project relationships are created when projects have tags in common. For tips on refining your project’s tags to get good results from our project matching algorithm see the tagging tips page.

Open Hub Code

What is Open Hub Code?

Open Hub Code is a free public code search engine for 10+ billion lines of open source code.

The Open Hub Code search database is populated and updated from a new, automated integration with Open Hub’s project list. We’ve rebuilt the code search engine (also available for private code search:  We’ve migrated the entire code base from .NET to Java (our team’s language of choice).

We’ve enhanced the technology along the way, including:

  • Scalability for indexing and searching 10+ BLOCs
  • Self-service project code additions and updates through user input on
  • Support for multiple code locations per project
  • De-duplication of identical files in a project, with pointers to multiple occurrences of a file across branches or versions
  • Filtering/faceting of search results
  • Smoother UI design for search users
  • Syntax highlighting for 10 new languages (43 total) including user requests for XML, OCaml, Haskell, F#
  • Improved ranking of search results with relevant snippets for the matched files
  • Other user requests, including preservation of the underscore in search queries

Open Hub ( and Open Hub Code ( are the cornerstones of our vision to create the most comprehensive and free resource for developers to find and explore open source projects and code.

How can I provide feedback?

All of this this will be a leap forward for the site, but we know that there is more we need to do. We will continue to invest in improving the site, addressing the shortcomings we are aware of and further improving and enhancing the search experience to meet your needs.  Please use our Forums or Meta>Support to submit your feedback.  Thank you!

What search query syntax does Open Hub Code support?

Open Hub Code provides various ways to restrict or expand search results by using special operators on your search terms, including:

·         Search for phrases
You can search for phrases such as “public event” by enclosing the search term in double quotes.

·         CamelCase
When using CamelCase, the terms are queried as separate terms. To search as a single term, keep everything lowercase — foreachtag.

·         Class Definitions
Search for classes whose name contains <search term>.
For example, searching for ‘cdef:parser’ will return files with class names containing ‘parser’.

·         Method Definitions
Search for methods whose name contains <search term>
For example, searching for ‘mdef:insert’ will return files with method names containing ‘insert’

·         Interface Definitions
Search for interfaces whose name contains <search term>
For example, searching for ‘idef:configuration’ will return files with interface names containing ‘configuration’.

·         Compound Definitions
Search for classes named ‘tree’ with a method named ‘insert’
For example, searching for ‘cdef:tree mdef:insert’ will return files with classes named ‘tree’ with a method named ‘insert’

·         Search Syntax
Note: With the exception of CamelCase, searches are case-insensitive. Searching for ‘Xml’ is the same as searching for ‘XML’ is the same as search for ‘xML’ etc.

·         Example Searches

  • <search terms> within files and file names.<search terms>sort
  • Classes whose names contain <search terms>cdef:<search terms>cdef:tree
  • Functions whose names contain<search terms>fndef:<search terms>fndef:main
  • Interfaces whose names contain <search terms>idef:<search terms>idef:tree
  • Methods whose names contain <search terms>mdef:<search terms>mdef:compute
  • Structures whose names contain <search terms>sdef:<search terms>sdef:rect
  • Files with exact matches to text between quotes“<search terms>”“lock thread”
  • Compound searchescdef:util mdef:unzip
  • Other operators:
    • ctor: Constructor definitions
    • edef: Enum definitions
    • ctordec: Constructor declarations
    • fdef: Field definitions
    • dtor: Destructor definitions
    • odef: Object definitions
    • dtordec: Destructor declarations
    • tdef: Type definitions
    • fndec: Function declarations
    • udef: Union definitions
    • mdec: Method declarations

Note: Open Hub Code does not, at this time, support regular expressions. That said, we are currently underway with a number of important improvements to both the data and features in Open Hub Code, so we would like to hear from you with some examples of the queries that you submit in the regex realm and what results you’d like to see returned so that we can best provide the related functionality and nice ranking around those results.  Please visit the Open Hub forum.  Thank you! 

What programming languages does Open Hub Code support?

Open Hub Code indexes all text files for search.

Open Hub Code has additional syntax-highlighting for 43 programming languages:

  • ActionScript
  • Ada
  • Assembly
  • Augeas
  • Autoconf
  • Automake
  • AWK
  • BlitzMax
  • Boo
  • Brainfuck
  • Brainfuck++
  • C
  • C#
  • C++
  • C/C++
  • ChaiScript
  • Classic Basic
  • ClearSilver
  • Clojure
  • CMake
  • CoffeeScript
  • coq
  • CSS
  • CUDA
  • D
  • DCL
  • DOS batch script
  • DTX for TeX/LaTeX
  • Dylan
  • Ebuild
  • eC
  • Eiffel
  • Emacs Lisp
  • Erlang
  • Exheres
  • F#
  • Factor
  • Forth
  • Fortran (Fixed-format)
  • Fortran (Free-format)
  • genie
  • Go
  • Groovy
  • Haml
  • Haskell
  • HaXe
  • HTML
  • Jam
  • Java
  • JavaScript
  • Limbo
  • Lisp
  • Logtalk
  • Lua
  • Make
  • Matlab
  • MetaFont
  • MetaPost
  • Modula-2
  • Modula-3
  • MXML
  • Nix
  • NSIS
  • Oberon
  • Objective-C
  • Objective Caml
  • Objective-J
  • Octave
  • OpenGL Shading
  • Pascal
  • Perl
  • PHP
  • Pike
  • Prolog
  • Puppet
  • Python
  • QML
  • R
  • Racket
  • Rexx
  • Ruby
  • Rust
  • Scala
  • Scheme
  • Scilab
  • shell script
  • Smalltalk
  • SQL
  • Stratego
  • Structured Basic
  • Tcl
  • TeX/LaTeX
  • Vala
  • VHDL
  • Vim Script
  • Visual Basic
  • XAML
  • XML
  • XML Schema
  • XSL Transformation

How do I add code to the Open Hub Code database?

We are using the project list for populating projects.  If your project, its metadata, and its code are specified on Open Hub, then it will be added to the queue for addition to Open Hub Code.

How is Open Hub Code different from internet search engines?

Internet search engines are not “code-knowledgeable”, and also include the noise of non-code results.

Open Hub Code allows you to search or filter specifically for class, method, and interface definitions. Open Hub Code also provides syntax-highlighting and further project code browsing for better understanding of a particular open source file or project.

Can I download and use the search engine for my own code?

Using Black Duck® Code Sight™, you can index your own internal code repositories so you can find, explore, understand, and reuse code. You can download a free Edition of Code Sight.

Are there IDE and browser plug-ins?

Black Duck Code Search IDE plug-ins are available for Eclipse and Microsoft Visual Studio, in addition to browser plug-ins for Firefox and Chrome. These plug-ins will enable you to search the billions of lines of open source code published on in addition to any code that you have indexed using Black Duck Code Sight. Download plugins here.

Source Control

Does Open Hub support my source control system?

Open Hub supports Subversion, Git, CVS, Mercurial, and Bazaar.

More systems may be added in the future if there is enough demand, so email us if your favorite system is not supported. In the meantime, you may be able to use a conversion tool to create a mirror of your repository that Open Hub can process.

Open Hub failed to download my source code – now what?

We constantly monitor our system for failed downloads, so usually you don’t need to do anything. However, if the download process remains stuck for a day or two, there may be some special issues we’ll need to look at. Please contact us on the forums and we’ll investigate the enlistment.

Please resist the temptation to add the same repository again. It will almost certainly fail again, and may complicate the original download.

Common causes of failed downloads:
* The source control server timed out, or there were network issues. Downloading the entire history of a project can take a long time, and many source control servers can be unreliable. This is by far the most frequent cause of failure.
* The CVS server does not support the “rlog” command. This is required by our system.
* The Subversion server does not support the “info” command. This is required by our system.
* The Subversion repository is corrupted, or someone actually checked a hidden .svn folder into the repository. We can usually work around this issue by skipping over the revisions which are corrupted; let us know if this is the case in your repository.

I don’t use a source control manager. Does Open Hub support tarballs?

Not directly. Our system does more than analyze a snapshot of the code. We examine the full history of all changes to the code, and attribute each one to an individual contributor. A simple tarball of the source code doesn’t contain this history.

All is not lost, however. If you insist on working around this, you could simply push your code into a repository, then upload it to Open Hub. This can be done fairly easily. You could use a free online forge service, or perhaps the easiest workaround is to import the project into a local Git repository and then open access to it so that Open Hub can upload it. You can find Git here.

My project moved to a new repository. What should I do?

If it’s possible, the best solution is to import all of the history from the old repository into the new repository, preserving a continuous timeline of ongoing development.

If you can’t do this, Open Hub does support multiple repositories per project. In this case, all of the activity from both repositories will be combined to make a single report. However, this doesn’t usually work out well because the old repository still contains a full copy of the code even though it has been duplicated in the new repository. This results in the project showing twice the actual number of lines of code. Unfortunately, Open Hub doesn’t have any current solution to this problem.

An alternative solution is to create a separate project for each repository and label them accordingly (for example, “My Project 1.0” and “My Project 2.0”).

A developer on my project uses more than one name. Can I combine the statistics?

Yes. If some developers on a project have used different name spellings in the source control system, you can combine these names together using contributor aliases. To create aliases,

  • Open the “Edit” tab of the project page, and click the “Aliases” sub-menu. This might take you to if your project were 3692.
  • Click the “add a new alias” button.
  • Pick a name you previously used from the first drop-down, then choose the name you prefer from the second drop-down (the one you already claimed most likely).

If you have more than 2 contributions, you may need to repeat this.

A contributor alias applies to all of the repositories in a single project. This feature cannot be used to combine statistics from more than one project.


How do I change my avatar image?

Avatar images on Open Hub are provided by Gravatar, a service which allows you to use a single avatar image across all Gravatar-enabled web sites. Sign up for a free Gravatar account to associate your email address with an avatar image.

How do I change my email address?

Go to your profile page by clicking the “My Profile” button on the top of your browser. Now click the Edit tab and then the Change Password link.

After I signed up for Open Hub, I lost all my kudos!

Your kudos are not lost, they are merely not visible until the next nightly update.

All new accounts on Open Hub are assigned a default KudoRank of 1. Open Hub recalculates kudo scores only once each day. If you take actions that will change your KudoRank, you will not see the change until after the daily update.

For example, there may already be some kudos associated with some code you wrote for a project. If you associate this code with your Open Hub account, it may take 24 hours before these kudos are transfered to your account. During this time, the project report and your account page will both show your existing account KudoRank, which is only 1 if your account is new.


What projects should go in my stack?

What goes into your stack is completely up to you. Add any open source projects you use: tools, libraries, frameworks, etc.

How do I add a project to my stack?

There are three ways:
1. From the main page of a project, e.g. Subversion, click on I USE THIS in the Users area:who_uses_sample
You’ll now be able to pick the stack to add the project to, or can pick to create a new stack with this project.

  1. From your stacks page, you can navigate to one of your stacks. The Recommendations panel will pick projects you’re likely to find interesting. Click I USE IT on any suggestion you like: recommendations panel
  2. Also on the same page, you can also directly add a project using Add Project. add_project_sample

What is a stack?

A stack is the set of programs that are combined to create a software system. The most common example of a stack is LAMP (Linux, Apache, MySQL, and PHP/Perl/Python). On Open Hub, a stack is a collection of all the open source projects you use.

How do I create a second stack? Why would I?

Your stacks page has a New Stack button on the top right. Click it and you have a new stack. Change the stack name and description by clicking on them and typing.

Consider creating a different stack for each software system you develop, maintain, use. For instance, your database server likely runs a stack that is quite different from your development machine which might be quite different from your webserver. Some other stacks: Home, Gaming. Add whatever you want.

How do additional stacks affect the user count of a project?

Open Hub now counts the number of people who use a project, rather than number of stacks. Including a project in multiple stacks will not increase it’s User count.

How can I use stacks to promote my project?

Ask your users to come to Open Hub, register for an account and stack your project. This increases your User count and makes your project more appealing to potential users.

Does Open Hub offer any stack widgets?

Open Hub has stack widgets that you can embed. Click Embed on the stacks or an individual stack page to get started.

Here’s a sample:

Stack preview


Why does my stack widget look bad in IE6?

It might be because the page is being rendered by IE6 in quirks mode. If you have control of the page, you can fix this by adding a xhtml preamble, e.g.:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">


In what browsers do you test Open Hub?

We test in the following operating systems and browser versions.  We assume a minimum screen resolution of 1024 x 768 px


  • Chrome (Only the currently supported release version)
  • Firefox (Latest auto-updated version)

Windows 8 and Windows 8.1

  • IE 10, IE 11 and later
  • Chrome (above version(s))
  • Firefox (above version(s))


  • Chrome (above version(s))
  • Safari (Versions 8.x and later)
  • Firefox (above version(s))