Following a conversation (well, a complaint and a suggestion) with @ernestopriego on Twitter, the following came to light (and is certainly something I've experienced):
DOI numbers are assigned by a central organization called CrossRef.
For most quantitive metric computations on academic journal articles, you must assign a DOI.
Membership of CrossRef (for a publisher with less than $1m profit(!)) costs $275/year.
There is a charge per identifier of $1.
The problem with this setup
Gold Open Access journals that are run on a purely non-profit basis still have to pay $250/year + $/article. Not much, admittedly, but this money still has to be found. In academia, finding money is difficult.
Can anybody think of a reason why a parallel, OpenDOI system could not operate?
The technical setup is not huge. Mirroring of CrossRef APIs would be the largest technical task.
The resolver is trivial to write.
The main resource required would be volunteers willing to vet initial publisher applications and coders willing to work with me to write it.
The ODOI number would have to take a different format to DOI numbers. DOI numbers currently look like this: 10.1000/182. An ODOI number could take: ODOI_10.1000/182.
The ODOI resolver could then distinguish between a DOI (whose resolver request could be forwarded to CrossRef) and an ODOI (which it would resolve). This would ensure at least one-way backward compatibility.
The code-base would be open source under a Free license to be decided.
I would favour some form of Python-driven implementation. Perhaps web.py?
I would not advocate, at prototype stage, implementing Handle.
It would be feasible to charge for-profit publishers, should they wish to assign an ODOI number but pricing could be lower than CrossRef. This could maintain server costs. I have an initial dedicated server upon which a prototype could be hosted.
Thoughts/comments welcome. I assume the main concern will be fragmentation but would like to hear.
Featured image by fazen under a CC-BY license.