Software engineering Software documentation Software engineering in research Software license Abstraction considered harmful