About this project: rewriting and expanding planzero.ca/about
Going meta: Refining the vision and mission, acknowledging the project contributors, and explaining how posts are meant to work as a mechanism for developing PlanZero.
Table of Contents:
- Introduction
- About this Project
- Contributors
- The Stability of Posts, The Instability of Everything Else
- Post Draft Status
- Post Dates
- Post Authorship
- Post Drafting Guidance for Contributors
- Conclusion
Introduction
This post takes a step back, reviews what PlanZero is trying to accomplish, recognizes the contributors that are helping to bring it together, and articulates a commitment I'd like to make to readers of the PlanZero site. I commit to leave posts alone after they're published, so if you read one, it will still be there later. Of course, iteratively improving all aspects of the site sometimes requires... slightly changing some of the posts. Read on if you're interested in how I intend to balance this commitment and requirement. With the publication of this post I'm also adding much of its content to the About page.
This post also includes some authorship guidelines. Posts on PlanZero have only one author so far, but I hope some day there may be others. This post brings some developer / contributor documentation to help start a discussion with potential new contributors.
About this project
PlanZero is an independent research project to model how Canada might achieve net zero emissions. Its mission is to quantify the emissions impact of strategies — such as the research and development of new technologies, the scaling of new products, and the introduction of public policies — by situating them in long-term scenarios based on projections of future climate, population, energy demands, and other trends that might influence Canada's future. It is motivated by belief that promising strategies exist, that they can be implemented in Canada and elsewhere, and that global net emissions can drop to net-zero over the decades ahead through the implementation of strategies such as those modelled in PlanZero.
There have been, and thankfully continue to be, many efforts to predict future climate, rates of emission, technology and policy impacts. As I build up a bibliography (barely started as of April 2026), this PlanZero site will situate itself in the context of ongoing and previous work. I believe that PlanZero is differentiated from other efforts in (a) focusing on Canada, and (b) in being structured as an open-source software project. As the project matures in depth and breadth, I hope it becomes a resource that can help inform public discourse, shape public policy, and guide capital investment into research and technology development. I also hope that it may engage the community of Canadian students at undergraduate and graduate levels, to
- learn about the diverse challenges of transitioning to a net-zero economy
- develop compelling strategies that can and should be put into action
- practice software engineering, architecture, and statistical modelling
- participate in distributed open-source projects
Contributors
I have updated the About page to list project contributors, of whom I feel there are three. They have made different kinds of contribution:
- Myself, James Bergstra, Ph.D., the project's lead author and developer. James is supported by a patient and thoughtful wife, who endures the first drafts of so many posts, provides invaluable feedback and support, and wishes to remain anonymous.
- Professor Seth Wynes, Ph.D., an Assistant Professor in the Department of Geography and Environmental Management at the University of Waterloo. Seth is guiding James' transition into the world of climate modelling and communication.
- The Opt2Refuture team. The group, of which James is a member, has provided research leads, post feedback, and a forum for discussion of issues related to emissions reduction in Canada.
The Stability of Posts and the Instability of Everything Else
I think of the PlanZero project as having the following facets:
- simulations and strategies - the modelling and analysis pages
- posts - a narrative history of the development of the PlanZero site
- about - project overview, direction, acknowledgements
- code (GitHub) - the state and history of all data, code, and content, in git
- issues (GitHub) - a set of likely next steps, a rough roadmap
Please do not expect this sort of stability from any of the other four facets of the project. The nature of the models and analysis may change, and the way pages on this server map to strategies and simulations etc. may be reorganized from time to time. At some point I may reorganize the site to e.g. no longer host the IPCC-Sector pages as top-level tabs, or turn what's now the "About" page into a multi-paged section. I may reorganize PlanZero's code so that files are moved to different places and mean different things. Finally, to round out the list, GitHub issues may be repurposed (especially the issues that I both create and then address). I will try to design these less-stable pages of the site to have "Posts Developing this Page" sections toward the bottom, with links to [stable] posts with similar content or aspects of the content. The source files, including many data files, for the project are version controlled (see below) so historical views can be rebuilt at later dates if necessary.
Post Draft Status
In the interest of granting myself some flexibility to change recently-published posts in response to feedback, I have introduced a mechanism whereby a post can have a status of "Draft". If a post is a draft, then
- The word "DRAFT" appears in large letters in the title, wherever it appears.
- The content of the post is not stable.
- The text of the post is subject to change without notice.
- The entire post may be hidden, withdrawn, removed, etc.
- It should never be materially changed, and
- if aspects of it are superceded, they should be amended to link to the new post(s) introducing the superceding content.
My typical workflow is to publish new material as a draft status post, send it to fellow collaborators, incorporate their feedback, and then remove the draft status. Moving a post from draft to non-draft status will typically be the occasion for broader communication. In the future, a post leaving draft status may somewhat automatically lead to broadcast on e.g. mailing list, substack, X (twitter), slackbot, facebook, LinkedIn, and/or other ways of getting messages out, but I haven't decided how to handle that yet. For now I transmit posts manually, in an ad-hoc manner.
Post Dates
Perhaps it's a minor point, but for sake of clarity: posts have dates, and those dates are approximate. The dates of posts are chosen to create a coherent narrative, and reflect only the approximate time of writing. The date on a post does not necessarily reflect the time the work was started, completed, or last edited. When a non-draft post is amended to include a link to a superceding post, its own date will not change, but the amendment will mention a date e.g. "(Edited April 25, 2026: new post X covers this topic differently...)" but this date too can be approximate.
Post Authorship
You may have noticed that PlanZero posts are signed. Posts have authors and the authors' name(s) appear on the post. So far I've been a solo author, however I've had help from all of the contributors mentioned above. I don't think there's a comprehensive way to express who should be included among authors of a post, but as a rule of thumb, the authors of a post are the people who can answer to the questions "Why did you write that post?" and "Why did it say what it said?" That said, I will always strive to give credit where credit is due. PlanZero hasn't yet benefited from funding or sponsorship, but if that happens, I will acknowledge it publicly.
Post Drafting Guidance for Contributors
This section is a collection of notes on how to contribute to PlanZero as an author. If you have no such ambitions, feel free to skip ahead to the Conclusion. This section contains a bit of background on open source and version control, and some guidance on the purpose of posts from a development perspective.
PlanZero is an Open-Source Project
Open-source software can be defined in a few ways, but I think of it as software whose source code can be read, modified, and extended by its users. Free and open-source software has a long history, and modern open-source projects include some of the most complex and stable software in the world, such as the Linux operating system, the git version control system that manages PlanZero code, the Python programming language in which PlanZero is implemented, simulation tools for mathematical modelling, and many models used for atmospheric, ocean, and climate science. I have made PlanZero an open source project for three reasons:
- I believe that that it will require the support of an open-source community.
- I believe open-source community projects are relatively democratic, and robust to lobbying influence.
- Contention in climate policy discourse is better addressed by open-source modelling software, which is maximally transparent.
Version Control with Git
Version control, and git in particular, has at least revolutionized, if not fundamentally enabled, modern open-source software (git usage was recently estimated to be used for 93% of development, but not 100%). PlanZero is managed with git. Version control (or sometimes "revision control") software helps developers with two tasks that can otherwise be overwhelmingly difficult:
- manage versions of the full set of files making up a software project
- merge two versions together in a way that makes sense
Each versioned of set of files in git is associated with a
commit — a snapshot of the state of things
and a brief message about it.
Behind the scenes, when you make a commit,
the git software stores changes relative to
another commit, called a parent.
Most git commits have a single parent, and the lineage of such commits is called a
branch.
Merging versions is accomplished by merging one branch
into another with a git merge, which
produces a special merge commit with two parents (mixing metaphors, arguably).
Website
devdojo has produced a helpful picture to explain:
If this is all new to you, check out GitHub's Git and GitHub Learning Resources or other online resources. Git isn't always extremely easy to use, but it is extremely widely used, at least among software developers, so give it a chance. There are many documentation and tutorial sites online about how to use git effectively, and how to use GitHub specifically (as PlanZero does). A directory on a computer whose files are tracked by git is called a git repository. A repository on the GitHub website is associated with either a GitHub project, or a fork of a project. You, dear reader, are welcome to make a fork of the PlanZero project. You may modify it, use it for whatever you like under the BSD-3 license, and optionally submit changes back to PlanZero. To anticipate the point of the next section: in terms of this version-control discussion, the purpose of posts in PlanZero is to explain how merged development branches have changed the project.
The Purpose of Posts
The development pattern of iteratively patching up and extending open source software applies at two conceptual levels with regards to PlanZero. At a lower level, PlanZero uses git via GitHub in the conventional way with commits, branches, merges, and so on, and the changes are described by git commit messages. PlanZero's git history includes a sort of narrative of commit messages, but these messages are small, text-only, and not written for the audience of the site itself. At a higher level, PlanZero uses posts to mark significant changes to the underlying project code, including the structure, analysis, and visualizations on the site. At this higher level, the site is like the "coherent, improved software system" with an ever-expanding set of models, visualizations, analyses etc. that nevertheless remain internally consistent. PlanZero's mission to quantify the potential impact of many strategies within credible long-term scenarios calls for a large amount of modelling and analysis of information from many data sources. Posts support the project by providing long-form, accessible justifications (sometimes debatable, perhaps) for the step-by-step incremental changes that will, I hope, take PlanZero from an initial blank slate to the fully developed projections that represent success in the mission.
A corollary to this principle, is that if there is no material change to the site other than the post itself, then perhaps there should be no post. PlanZero posts should not focus on either news or the expression of opinion, except in support of material changes to the models, simulations, data sets, assumptions, and software that comprise PlanZero's offering. In the future there may be a "Perspectives" or "Recommendations" section with examples of using PlanZero to take a position on a matter of public debate, but there is not yet such a section. There may be development from time to time that isn't reader-oriented, such as performance improvements, changes to how PlanZero is deployed, and additional tests, or governance discussion / documentation (such as this very post), but even then, my personal wish is that such changes be tied to core improvements as much as reasonable, in order to focus development. Every change to PlanZero should help it achieve the mission.
Conclusion
This post has brought a rewrite of the PlanZero About page, with a more concise vision and mission, a recognition of contributors, and some guiding principles regarding posts. The updated mission is: Quantify the emissions impact of strategies — such as public and private research and product development efforts, and public policies — by situating them in comprehensive long-term scenarios based on projections of future climate, population, energy demands, and other trends that might influence Canada's future. As the project matures in depth and breadth, I hope it shapes public policy, and guides capital investment into research and technology development. Meanwhile, there are about 100 universities in Canada, and if a few students at each one took an interest in PlanZero, they would make up a thriving contributor community. They are the next generation of shapers-of-public-policy and allocators-of-capital-investments. The guidance regarding posts is the beginning of a how-to-contribute onboarding document written with this population in mind.
PlanZero's next post will introduce a glossary. While a bibliography is on the horizon, a glossary represents a step forward: a place to consolidate the names of major sources, and an implementation of a cross-referencing mechanism for html-authored content. Relative to PlanZero's mission, the glossary helps quantify the potential impact of strategies by explaining how PlanZero models work.
Until then,
- James Bergstra