The Frameworkless Movement is a group of developers interested in developing applications without frameworks. We don't hate frameworks, nor we will ever create campaigns against frameworks, but we perceive the misuse of frameworks as a lack of knowledge regarding technical debt and we acknowledge the availability of alternatives to frameworks, namely using dedicated libraries, standard libraries, programming languages and operating systems.
We believe that a framework, when chosen, should be used responsibly throughout the life of the project. Continuously remind yourself that every tool has some kind of tradeoff.
We also want to give the right weight to technical decision-making and in realizing that the choice to develop a project or a single feature with no dependence on a framework is a real possibility.
With this movement we want to create awareness around these topics, gathering together people in a community.
Everytime that we consider the choice of a framework for a project we will use these principles to guide our choices.
-
The value of a software is not the code itself but in the reasons behind the existence of that code.
-
Every decision should be made considering the context. A good choice in a given context could be a bad choice in another one.
-
The mindful choice of a framework is a technical one and should be made by technical people, taking business needs into account.
-
The decision-making criteria that led to the choice of a framework should be known to all the members in the team.
The purpose of this Manifesto is to have valuable conversations about the movement. We firmly believe that to be useful this manifesto should be modified during the time as a result of the conversations that our community will have. Thus, it will not be possible to sign this Manifesto. If you find this Manifesto useful for your work, please share it with your network. Sharing is how we would like people to sign this document.
We will use GitHub as a virtual meeting place. You can propose a discussion creating an Issue or propose a modification to the Manifesto with a Pull Request.