Open diekhans opened 10 years ago
The package name has been inherited from picard and sam-jdk. Personally I don't have any preferences -- package name is just a name space. We should probably consider package name change when merging with picard code base under samtools/hts-jdk repo. Should it be something like 'ga4gh.read.format'? Open for suggestions.
I think names are important because it's key to making the code understandable. The choice of top level package name is kind of up to what identity the CRAM team wants to put forward. Being part ga4gh adds to credibility, but makes it appear as less of an independent project.
The java convention would be org.ga4gh, but whatever GA4gh is doing. While I have mixed feelings about the Java language, want they did with making name, javadoc, etc, seamless and easy to navigate is very well done. I don't believe there is javadoc for CRAM online anywhere, which would really help.
Cramtools uses the package names net.sf. *. The domain sf.net is owned by slashdotmedia.com and is aliased to sourceforge.net. The cramtools project should not be using a domain name it does not control. The java package name rules state that package names should be constructed from a domain name associated with the group creating the software:
http://docs.oracle.com/javase/specs/jls/se5.0/html/packages.html#7.7
It's also very confusing and adds no value to understanding the code using these packages.
I would suggest registering a domain name for this project. While an EBI name would at least make it legitimate. An independent .org for the project (maybe include hstlib) would make it more welcoming to non-EBI developers.
Stub net.sf.* packages that import the new package names would support backwards compatibility.