github.com/go4org/go4@v0.0.0-20200104003542-c7e774b10ea0/README.md (about) 1 # go4 2 3 [![travis badge](https://travis-ci.org/go4org/go4.svg?branch=master)](https://travis-ci.org/go4org/go4 "Travis CI") 4 5 [go4.org](http://go4.org) is a collection of packages for 6 Go programmers. 7 8 They started out living in [Perkeep](https://perkeep.org)'s repo 9 and elsewhere but they have nothing to do with Perkeep, so we're 10 moving them here. 11 12 ## Details 13 14 * **single repo**. go4 is a single repo. That means things can be 15 changed and rearranged globally atomically with ease and 16 confidence. 17 18 * **no backwards compatibility**. go4 makes no backwards compatibility 19 promises. If you want to use go4, vendor it. And next time you 20 update your vendor tree, update to the latest API if things in go4 21 changed. The plan is to eventually provide tools to make this 22 easier. 23 24 * **forward progress** because we have no backwards compatibility, 25 it's always okay to change things to make things better. That also 26 means the bar for contributions is lower. We don't have to get the 27 API 100% correct in the first commit. 28 29 * **no Go version policy** go4 packages are usually built and tested 30 with the latest Go stable version. However, go4 has no overarching 31 version policy; each package can declare its own set of supported 32 Go versions. 33 34 * **code review** contributions must be code-reviewed. We're trying 35 out Gerrithub, to see if we can find a mix of Github Pull Requests 36 and Gerrit that works well for many people. We'll see. 37 38 * **CLA compliant** contributors must agree to the Google CLA (the 39 same as Go itself). This ensures we can move things into Go as 40 necessary in the future. It also makes lawyers at various 41 companies happy. The CLA is **not** a copyright *assignment*; you 42 retain the copyright on your work. The CLA just says that your 43 work is open source and you have permission to open source it. See 44 https://golang.org/doc/contribute.html#cla 45 46 * **docs, tests, portability** all code should be documented in the 47 normal Go style, have tests, and be portable to different 48 operating systems and architectures. We'll try to get builders in 49 place to help run the tests on different OS/arches. For now we 50 have Travis at least. 51 52 ## Contact 53 54 For any question, or communication when a Github issue is not appropriate, 55 please contact the [Perkeep mailing 56 list](https://groups.google.com/forum/#!forum/perkeep). 57