= Development
:description: Development progress, general development practices
:page-nav_order: 4
:page-has_children: true

// SPDX-FileCopyrightText: 2022 Unikie
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

Spectrum is free software, currently under active development.


== General Workflow

Spectrum is a very small and not changeable sort of Linux distro.  It does
not have a package manager for users.  If you faced a missing feature or a bug, or you want to suggest some improvements, please consider the following:

* Get the latest version of the
https://spectrum-os.org/git/spectrum[source code] and make sure your problem
was not fixed.
* xref:../installation/getting-spectrum.adoc[Build Spectrum] and make changes
in the source code.  In addition:
** If you need to customize the build to be able to use a
vendor kernel, you can
xref:../development/build-configuration.adoc[configure the build].
** You can xref:../development/testing-patches.adoc[test patches]
subbmited by others.
* If you would like to share your code with the community,
you can send the changes to the maintainers for possible inclusion in
the Spectrum source code as a new patch.
** xref:../development/b4.adoc[Install and configure the b4 utility] to be able
to work with patches.
** xref:../development/first-patch.adoc[Submit the changes for review].
Keep your git commits clean and make sure they meet general guidelines.
** Wait for approval from the maintainers' side.  Detailed updates are posted in
Spectrum Development
https://spectrum-os.org/lists/hyperkitty/list/devel@spectrum-os.org/[threads].
** Update documentation with the code. For more information, see
xref:../development/building-documentation.adoc[Building Documentation].

For additional information, see
https://spectrum-os.org/contributing.html[Contributing to Spectrum].


== Developer Setup

* https://git.kernel.org/pub/scm/utils/b4/b4.git/about/[b4]
* https://nixos.org/manual/nix/stable/introduction.html[Nix package manager]
* https://docs.asciidoctor.org/[AsciiDoc] for writing the documentation


== Mailing Lists

The Spectrum project runs several
https://spectrum-os.org/participating.html#mailing-lists[mailing lists] on
which you can ask your questions or help other people with the questions they
have.  All the Spectrum developers as well as many long time Linux and Spectrum users are on the lists.

For real-time feedback, use
https://spectrum-os.org/participating.html#irc[IRC/Matrix channel].
