Skip to content

Commit

Permalink
Merge pull request #226 from go-kit/archive-rfcs
Browse files Browse the repository at this point in the history
Archive the RFCs
  • Loading branch information
peterbourgon committed Mar 25, 2016
2 parents c504454 + e4430e7 commit eb13980
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 430 deletions.
42 changes: 16 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ in the large. Go kit is a set of packages and best practices, leveraging years
of production experience, and providing a comprehensive, robust, and trustable
platform for organizations of any size.

In short, Go kit brings Go to the modern enterprise.
In short, Go kit makes Go a viable choice for business-domain microservices.

For more details, see
[the motivating blog post](http://peter.bourgon.org/go-kit/) and
Expand All @@ -144,51 +144,40 @@ See also the

## Non-goals

- Supporting messaging patterns other than RPC (in the initial release) — MPI, pub/sub, CQRS, etc.
- Re-implementing functionality that can be provided by wrapping existing packages
- Having opinions on deployment, orchestration, process supervision, etc.
- Having opinions on configuration passing — flags, env vars, files, etc.
- Supporting messaging patterns other than RPC (for now) — e.g. MPI, pub/sub, CQRS, etc.
- Re-implementing functionality that can be provided by adapting existing software
- Having opinions on operational concerns: deployment, configuration, process supervision, orchestration, etc.

## Contributing

Please see [CONTRIBUTING.md]. Thank you, [contributors]!
Please see [CONTRIBUTING.md][]. Thank you, [contributors][]!

[CONTRIBUTING.md]: /CONTRIBUTING.md
[contributors]: https://github.com/go-kit/kit/graphs/contributors

## Dependency management

Go kit is a library, designed to be imported into a binary package. Vendoring
is currently the best way for binary package authors to ensure reliable,
reproducible builds. Therefore, we strongly recommend our users use vendoring
for all of their dependencies, including Go kit. To avoid compatibility and
availability issues, Go kit doesn't vendor its own dependencies, and doesn't
recommend use of third-party import proxies.
Go kit is a library, designed to be imported into a binary package.
Vendoring is currently the best way for binary package authors to ensure reliable, reproducible builds.
Therefore, we strongly recommend our users use vendoring for all of their dependencies, including Go kit.
To avoid compatibility and availability issues, Go kit doesn't vendor its own dependencies, and doesn't recommend use of third-party import proxies.

There are several tools which make vendoring easier, including [gb][],
[govendor][], and [godep][]. And Go kit uses a variety of continuous
integration providers to find and fix compatibility problems as soon as they
occur.
There are several tools which make vendoring easier, including [gb][], [glide][], [gvt][], [govendor][], and [vendetta][].
In addition, Go kit uses a variety of continuous integration providers to find and fix compatibility problems as soon as they occur.

[gb]: http://getgb.io
[glide]: https://github.com/Masterminds/glide
[gvt]: https://github.com/FiloSottile/gvt
[govendor]: https://github.com/kardianos/govendor
[godep]: https://github.com/tools/godep

## API stability policy

The Go kit project depends on code maintained by others.
This includes the Go standard library and sub-repositories and other external libraries.
The Go language and standard library provide stability guarantees, but the other external libraries typically do not.
[The API Stability RFC](https://github.com/go-kit/kit/tree/master/rfc/rfc007-api-stability.md)
proposes a standard policy for package authors to advertise API stability.
The Go kit project prefers to depend on code that abides the API stability policy.
[vendetta]: https://github.com/dpw/vendetta

## Related projects

Projects with a ★ have had particular influence on Go kit's design (or vice-versa).

### Service frameworks

- [gizmo](https://github.com/nytimes/gizmo), a microservice toolkit from The New York Times ★
- [go-micro](https://github.com/myodc/go-micro), a microservices client/server library ★
- [gocircuit](https://github.com/gocircuit/circuit), dynamic cloud orchestration
- [gotalk](https://github.com/rsms/gotalk), async peer communication protocol & library
Expand Down Expand Up @@ -230,3 +219,4 @@ Projects with a ★ have had particular influence on Go kit's design (or vice-ve
- [Architecting for the Cloud](http://fr.slideshare.net/stonse/architecting-for-the-cloud-using-netflixoss-codemash-workshop-29852233) — Netflix
- [Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html) — Google
- [Your Server as a Function](http://monkey.org/~marius/funsrv.pdf) (PDF) — Twitter

23 changes: 0 additions & 23 deletions rfc/README.md

This file was deleted.

83 changes: 0 additions & 83 deletions rfc/rfc000-package-server.md

This file was deleted.

19 changes: 0 additions & 19 deletions rfc/rfc001-package-client.md

This file was deleted.

19 changes: 0 additions & 19 deletions rfc/rfc002-package-transport.md

This file was deleted.

66 changes: 0 additions & 66 deletions rfc/rfc003-package-metrics.md

This file was deleted.

45 changes: 0 additions & 45 deletions rfc/rfc004-package-log.md

This file was deleted.

19 changes: 0 additions & 19 deletions rfc/rfc005-service-discovery.md

This file was deleted.

33 changes: 0 additions & 33 deletions rfc/rfc006-request-tracing.md

This file was deleted.

Loading

0 comments on commit eb13980

Please sign in to comment.