I really like Charlie's take here, even though some of it will annoy many ontologists and my @OBOFoundry colleagues! Lots of sensible advice, would make a good PLOS 10 rules article. I do have a few suggestions and comments... 1/ https://twitter.com/cthoyt/status/1260307752796200961
Great advice to use GitHub/GitLab, Travis-CI, etc. I have this as well as the general advice to use software development tools and principles in my top tip here: https://douroucouli.wordpress.com/2019/03/09/ontotip-lift-borrow-steal-software-engineering-principles/ 2/
We've actually developed scripts that make it easy to get set up with everything you need for developing a new ontology with GitHub with the Ontology Development Kit https://github.com/INCATools/ontology-development-kit/ 3/
The advice to generate the ontology from easy to manage TSVs is good - for certain kinds of ontologies or as part of a hybrid strategy. ROBOT provides a template command for doing this: http://robot.obolibrary.org/template 4/
As for throwing out @protegeproject and OWL... I can see where you are coming from. This can sometimes seem overkill, and many people use OWL badly, creating over-engineered baroque monstrosities... (not naming any names!) 5/
I'd certainly recommend sticking to the EL subset of OWL used in @news4go, CL, @uberanat. This is usually sufficient for typical bio-ontologies. People often use the other constructs incorrectly making "impressive" looking but hard to understand and debug monsters... 6/
But in throwing this framework all out altogether you may be opening yourself for maintenance nightmares further down the line - but it depends a lot on properties of your ontology and your use case. No one-size-fits-all solution. Sometimes quick hacks are OK! 7/
It's a bit like seeing some over-engineered java code (we've all been there) and then deciding to throw out structured programming altogether, writing everything in perl4 with no subroutines. IMHO we need to strive for the 'Python' equivalent in building ontologies. 8/
Here's an older article on how we use OWL successfully in the GO: https://www.biorxiv.org/content/10.1101/010090v1.article-info 9/9