Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 3.43 KB

contributing.md

File metadata and controls

15 lines (8 loc) · 3.43 KB

Contributing

TL;DR: Think of this as a paper book, not an active open source repository. I welcome reasonable issues, but will probably do little with most.

I wrote it about 10 years ago, I have moved on, such is life. I accept issues on things including such things as typos, but it takes a lot of effort to manage this, time I do not willingly want to spend. jupyter notebooks are not version control friendly, and diffs are often very unreadable. What is worse, if the merge comes from anything but HEAD there are much greater chances of a bad merge where the result is unreadable by Jupyter and the notebook and will not render at all, with unintelligble errors. I have to review the changes, makes sure it doesn't conflict with other issues, regenerate the notebook, make sure all the code ran correctly and the figures rendered, push the changes, then go through the painful process of regenerating the PDF. And in between someone pushes a commit that contains some of the fixes I'm working one, plus some other ones, plus reword things that don't 'jibe' with the other commit. It's not easy, and it is mostly for typos or awkward wording that does not affect understanding or learning.

So, no thank you. I will accept the issues because why not, but consider them errata of a physical book. I am not going through that effort to fix a 'missspellingg' - everyone knows what I meant to write, understandability is not compromised. Everyone gets to see my spelling is not perfect; I'm okay with that! This file surely contains a few typos - for the love of dog do not push a commit! ;) Warts are okay.

I honestly regret using Jupyter for this effort because it engenders the belief in some people that I now have a lifetime commitment to responding to them, to working on this. It's a book. I also get asked to give the 'keys' to someone else. No. This is my book, with my name on it, for better and worse. I do understand sometimes it is 'worse'. So be it. Jupyter is great, Python is great, as are the libraries NumPy and matplotlib, but versioning is incredibly painful as libraries change, APIs are deprecated or retired, etc. I don't know the answer, but eternal maintainance for a book is not it.

Probably at some point when Python drifts too far away where things won't run I'll do an update, but I am not sure. If you can't fix an import error or deprecation probably you can't program in Python anyway and the book's software content will elude you anyway. I don't mean to be dismissive, but I only have one life, and I gave just about everything for a couple of years just to write this. It's enough.

I've probably overstated how strongly I feel about all this, but I wanted to be very clear and explicit. And I do feel sad when I get a long, clearly heart felt and earnest plea in my inbox or an issue to help somebody with their project or understanding, but I just can't do it. Most of the requests are entirely reasonable (a few are utter bonkers, basically "write my master's thesis for me, I'm running out of time" - seriously, I got that a couple of times), but again, this is old for me, and I have other things I am working on - not visible in the open source space, but so be it.

Finally, and I do mean this, if you end up blocked for not respecting the above, do not email me with a tale of how I am making the wrong choices, talking to me like I'm a child. Seriously. My dog. I know people want to help, but I am fine, and this is my choice with my intellectual property.