"What to do when your library gets popular"
This should include a section on "What to do when your library gets popular" addressing backwards compatibility, alpha and beta releases, how to bring in more committers, managing community expectations, and other similar topics.
+1
Also, SemVer.
+1
I'm really curious about this topic too. Could some guy maintaining a popular library please provide a detail explanation on this? :)
:+1:
Yea, that's a very special topic, that should definitely go into the guide.
Also this whole "how to distribute/deploy python-application" should get a lot of emphasis.
I think easy deployment is something that python lacks the most. Maybe the only reason, why Python has not replaced Java, yet.
(Jar-Archives are the only thing that make Java good. They are easily deploy-able and dependency management is very easy, too.)
Here are some general things I would suggest for the section, along with recommendations for getting started with each:
- continuous integration: Travis
- documentation: Sphinx + ReadTheDocs
- stable/beta releases: a sane branching model (eg this) does this for you; just push actual releases to the cheeseshop
- declaring a version:
module.__version__. This hack is useful if you need the version elsewhere (eg sphinx config,setup.py) but can't import your package due to missing dependencies. SemVer, too. - run an irc channel, choose the right license, etc
@simon-weber those are great points, also stressing that licenses can be changed.