Constitution of the IOKode project
Part 0: Definitions
When the following words appear capitalized in this Constitution, they should be interpreted according to these definitions:
- Constitution: This document.
- Author: The person who wrote a post.
- Collaborator: Any person who has written a post, corrected a post, commented, or made a monetary donation.
- Admin: The person who administers the IOKode project.
- Institution: The legal entity that owns the blog.
Part 1: Purpose and administration
Purpose
IOKode is a project dedicated to spreading content about computer science and software development. This Constitution establishes the rules of the project.
While the primary purpose of IOKode is to share content rather than develop software, software may be published under the IOKode name to showcase or validate topics covered in the blog.
Content Format
Currently, IOKode only supports written posts. However, the Admin may consider adding other formats in the future like videos or podcasts.
If a new format is added, the Constitution will be updated to reflect the new format and its publishing rules.
Choosing the Admin
The current Admin is Ivan Montilla (montyclt).
The Admin may propose the transfer of their role to any person they choose. When the Admin is replaced, the Constitution must be amended to reflect the new Admin.
The Admin’s Responsibilities
The Admin is responsible for:
- Managing the blog infrastructure (deployment, web hosting, SSL renewal, etc.).
- Selecting providers for hosting, email, proxies, etc.
- Managing email accounts.
- Representing and managing the Institution.
- Managing the Institution’s assets and bank accounts.
- Managing the official social media accounts of IOKode.
Funding
- Donations (via GitHub Sponsors, Patreon, or similar platforms). The Admin will select the platform(s).
- Consulting Services related to software developed by IOKode.
- Selling Software Licenses for software created and distributed by IOKode.
- Ads on the blog. The Admin will select the advertising platform(s).
Amendments
The Admin may update the Constitution at any time. When modifications occur, all Collaborators will be notified.
Part 2: Collaboration and Rules for Writing Posts
If you want to write a post, there are only a few simple rules to keep in mind.
Topics and Free Speech
Every post should have something to do with software development, computer science, AI, or any topic that lives in that space. That’s the only real boundary.
Author is free to write in any style. Personal opinions, reflections, or even strong statements are allowed. However, it is important to remember that a harsh tone may provoke equally strong reactions in the comments.
For this reason, while a rude language is allowed, writing with respectful language is strongly encouraged (but not mandatory). When an Author writes with respect—even while disagreeing—discussion stays constructive, and the ideas shared receive the thoughtful attention they deserve.
Nobody is obliged to read a post. If a reader prefers not to encounter strong language or strong opinions, they are free to stop reading at any point.
While IOKode is compromised with the Free Speech and allows any strong statement, notice that posts are hosted on GitHub, which can apply additional restrictions. If we notice that GitHub restrictions are a problem, the Admin will evaluate hosting our own Git server.
Quality
All published posts must maintain a high standard of writing quality, including correct spelling and grammar. Deliberate deviations are allowed only as part of an Author’s personal style.
Advertising and Spam
A post may contain advertising to anything that the Author wants with the condition that the post’s content will be high-quality content and not just a spam post. Per example, a post about no-SQL databases may contain a referral link to a website that sells no-SQL databases.
Accessibility
Unless clearly justified, the following accessibility rules are mandatory:
- All images must include alt text describing their content.
- Code snippets must be provided as text using code blocks (not images).
- Instead of embedding posts from X, YouTube videos, etc., provide links to them.
- Text must be left-aligned, never justified.
- Posts should be written in Markdown format.
- Do not use first-level of heading (
h1
in HTML,#
in Markdown) in the post’s content. This tag is reserved for the post’s title.
Language
All posts must be written in English.
The only exception is for legacy posts published before the adoption of this Constitution, which may remain in their original language.
Publishing
The Admin decides whether a post is published. The Admin is committed to evaluating only the content, never the Author. If a post meets the requirements for topic and quality, it will be published—even if written by the Admin’s strongest critic.
To submit a post to be reviewed and published, file a pull request on GitHub.
Comments
All posts are open to comments. Comments are written in a GitHub discussion thread, so while IOKode does not moderate comments, GitHub could do.
Similar to posts, IOKode is compromised with the Free Speech and allows any strong statement, GitHub may moderate them. If that turns out to be a problem, the Admin will evaluate hosting the comments ourselves.
Fixing errors and providing context
A contribution can request to update a post’s content for fixing errors or providing context. Both the Author and the Admin will review the request and decide whether to accept it.
License
The Author may choose any license for their post.
If no license is specified, the default license is CC BY 4.0.
Recommended sites
“Recommended sites” are a set of websites (mainly blogs) displayed in the sidebar of IOKode’s blog. No formal partnership is implied. These are simply recommended websites selected by IOKode.
A recommended site must focus on computer science, software development, or a related field. The Admin makes the choice directly.
Anyone who wishes to suggest their website for inclusion can send a request to collaborating@iokode.net. The Admin will then review the site and decide whether it fits the purpose of the list.
If a website is already listed but its owner does not want it to appear, they can simply email collaborating@iokode.net to request removal. The Admin will ensure the website is excluded.