The problem of GPL Lisense: The GPL and licenses modeled on it impose the restriction that source code must be distributed or made available for all works that are derivatives of the GNU copyrighted code.
Case study: Free Software fundation v.s. Cisco Systems
Modern Licenses are: MIT and Apache.
Tools are important.
Documentation | Version control | Unit tests | Release | Collaboration | |
---|---|---|---|---|---|
Old days | txt file contained in a zip/iso | an office process that recorded the work and managed the versioning task | capture and replay testing tools | CD-ROM | in an office |
Modern | Markdown + Github Pages | Git | test toolkit + continuous integration (with test coverage) built on top of cloud machines | Github | Github |
Version control, also known as source control, is the practice of tracking and managing changes to software code.
Unit tests are typically automated tests written and run by software developers to ensure that a section of an application (known as the "unit") meets its design and behaves as intended.