The Stacks project

\begin{equation*} \DeclareMathOperator\Coim{Coim} \DeclareMathOperator\Coker{Coker} \DeclareMathOperator\Ext{Ext} \DeclareMathOperator\Hom{Hom} \DeclareMathOperator\Im{Im} \DeclareMathOperator\Ker{Ker} \DeclareMathOperator\Mor{Mor} \DeclareMathOperator\Ob{Ob} \DeclareMathOperator\Sh{Sh} \DeclareMathOperator\SheafExt{\mathcal{E}\mathit{xt}} \DeclareMathOperator\SheafHom{\mathcal{H}\mathit{om}} \DeclareMathOperator\Spec{Spec} \newcommand\colim{\mathop{\mathrm{colim}}\nolimits} \newcommand\lim{\mathop{\mathrm{lim}}\nolimits} \newcommand\Qcoh{\mathit{Qcoh}} \newcommand\Sch{\mathit{Sch}} \newcommand\QCohstack{\mathcal{QC}\!\mathit{oh}} \newcommand\Cohstack{\mathcal{C}\!\mathit{oh}} \newcommand\Spacesstack{\mathcal{S}\!\mathit{paces}} \newcommand\Quotfunctor{\mathrm{Quot}} \newcommand\Hilbfunctor{\mathrm{Hilb}} \newcommand\Curvesstack{\mathcal{C}\!\mathit{urves}} \newcommand\Polarizedstack{\mathcal{P}\!\mathit{olarized}} \newcommand\Complexesstack{\mathcal{C}\!\mathit{omplexes}} \newcommand\Pic{\mathop{\mathrm{Pic}}\nolimits} \newcommand\Picardstack{\mathcal{P}\!\mathit{ic}} \newcommand\Picardfunctor{\mathrm{Pic}} \newcommand\Deformationcategory{\mathcal{D}\!\mathit{ef}} \end{equation*}

Important

Before spending a large amount of time on a contribution for the Stacks project, choose a smaller task, say something you can do in 5 minutes up to an hour. Leave a comment on the website or email the result (usually the modified TeX file) to stacks.project@gmail.com and see what it feels like to donate some of your own work to a publicly maintained project. Having done this successfully you can try your hand at some more ambitious projects.

While making changes or additions, please try to roughly approximate the way things are done in the Stacks project, especially near where you think your material is going to be put. Look a bit at the level of detail given in proofs and take note of the coding style used. This is not the most important thing (the most important thing is the mathematics and its correctness), but it can help incorporating your changes quickly.

Tasks you can do in 5 minutes

  1. Find incompatible notation and correct it. The same mathematical object should be coded in the same way everywhere.
  2. Read a random section and find small mathematical errors, such as arrows pointing the wrong way, wrong font, sign errors, etc. If they are small enough you can simply correct them, e.g. by suggesting an improvement as a comment, or emailing it. Otherwise, just pointing out something's wrong is also good.
  3. Provide counterexamples. For example, find a Noetherian ring which is not of finite type over a field, namely $\mathbf{Z}$. Or find a non-Noetherian scheme with Noetherian underlying topological space.
  4. Look for a missing proof in the preliminarly material that you understand very well, for example algebra, topology, sheaves, fields, etc. Then think of a one or two line proof. If it takes more than 5 minutes, skip to the next one (see also below).

For many of these tasks the commenting system available on the website suffices. Just look up the tag and post a comment, we will deal with the actual change in the Stacks project.

Tasks you can do in 30 minutes to an hour

  1. This search will find lemmas where either part of the proof or the whole proof has been omitted. Find the missing argument, write it up, and send it in. Please report it if you find a case where you think a new idea is required or where it is just totally unclear how to start.
  2. Check for missing internal references. Generally speaking the goal is to refer to all of the previous lemmas, propositions, theorems used in a proof. Go through some of the proofs and check if previous results are used without referencing them.
  3. Find mathematical mistakes. When reporting this it is very helpful if you can point out what went wrong and (if possible) how to fix it.
  4. Find superfluous assumptions.
  5. Find missing assumptions.
  6. Suppose lemmas A and B are used together in multiple proofs. Then it is often the case that A and B imply a lemma C (which may exist or not) and the places where A and B are used should be checked to see if lemma C can be used instead.

Again, many of these can be done using the commenting system, but some will require you to at least email the TeX you wrote.

Tasks you can do over longer stretches of time

  1. Split longer proofs into pieces by finding intermediate results.
  2. Find alternative proofs (but beware of creating circular arguments).
  3. Write introductions, overviews of already existing material.
  4. Add a section on your favorite topic.

Here you should probably email your TeX file or make a pull request.