The Nooku Manifesto is a constant guideline through the development and growth of the Nooku Project. Hours of discussions, years of experience and much consideration went into outlining it. If you are interested to get involved in the Nooku community, please take a moment to read it.

A project for developers

Nooku is a project for developers, integrators and hackers alike. Through collaboration we innovate and grow Nooku. We prefer to differentiate our products while working on the same common over competing with each other.

Nooku is not a product. We don’t try to solve user problems. Our goal is to make it easier for developers to create more powerful products, help them increase their productivity. Each individually we turn Nooku’s raw code into end-user products based on market strategies and business models of our choosing.

The journey is what matters

We develop Nooku adhering to the principles of Agile Software Development. We work in small, iterative steps which continuously result in usable software.

We focus on the essentials using the intuitive principles of Design Patterns and Domain-Driven Design to help developers tackling the complexity of their software.

We abandon road maps with a final goal in favour of a direction with markers for the journey. We utilize experience from the process instead of making big plans based on assumptions.

Don’t repeat yourself

We favor code reuse over copy paste programming and code duplication. We try to not repeat ourselves by encouraging the development of well encapsulated, reusable code which we share in common and public repositories.

We’re pragmatic, too – code which won’t be reused doesn’t need to be reusable. If we change our mind later, we trust on Refactoring.

Stick to the code

We let our code do the talking. We favor incubating our ideas into working code while trying to avoid long winded discussions. Our code always has the last word.

We realise that developers are inherently lazy, especially when creating documentation. We are no different. We try to write simple yet powerful APIs that speak for themselves. Our code should be as readable as a good book.

Open respect

We accept that we are all in this together, striving to create better software; striving to make ours and others people’s lives easier; striving to become better people.

We are all on the same side, we just sometimes draw the lines differently. We understand these differences but choose to move together as a community, united by the core goal of freedom, openness and respect.