enasequence / cramtools

CRAM format specification and java API for read data.
http://www.ebi.ac.uk/ena/about/cram_toolkit
Apache License 2.0
58 stars 21 forks source link

cramtools package name is illigetimate and confusing #13

Open diekhans opened 10 years ago

diekhans commented 10 years ago

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.

vadimzalunin commented 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.

diekhans commented 10 years ago

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.