content: add community page

This commit is contained in:
Kate Temkin 2024-05-01 17:43:25 -06:00
parent c5a11acd61
commit 5aa27eb08a
6 changed files with 198 additions and 82 deletions

27
TODO.md
View file

@ -1,33 +1,42 @@
TODO List
==========
## Misc
## Soft Release
### Misc
- Move "The Team" to under community
- Fix the favicon
- Remove the "pending pull request" from the install page, once that's merged.
- Add social media icons below lix for mastodon/github/etc.
- Figure out where "usability" should link to.
## Pages
### Pages
- Create the `/resources` page, with resources for learning Nix.
- Create a /community page linking to matrix.
- Create a /community-standards page (raito is creating text)
- Link "/contributing" to... maybe the wiki?
- Figure out where to link the "Docs" link to, and uncomment it.
## Graphics
### Graphics
- Fix the fact that Hugo is sticking the wrong thing into the alt texts.
- Replace the primary "hero" graphic with a Lix one.
- Replace the "lix-managed systems" graphic with an image of our logo on a screen.
- Replace the placeholders for each of the three main page "why lix" points.
- Add nice images to the "/about" page.
# Wishlist
## Wishlist
### Misc
- Fix the way CSS makes the page look on narrower monitors
- Fix the CSS vertical alignment on webkit mobile
- Figure out where to link the "Docs" link to, and uncomment it.
### Content
- Screenshots (incl. maybe of Xil) showing ergonomics enhancements in the /about page.
- Create /roadmap.
- Create /infrastructure.
### Graphics
- Add nice images to the "/about" page.
- Replace the primary "hero" graphic with a Lix one.

View file

@ -40,9 +40,9 @@ menus:
url: "/about"
weight: 2
- name: "The Team"
url: "/team"
weight: 3
- name: "FAQs"
url: "/faq"
weight: 2
#- name: "Docs"
# url: "/#"
@ -65,7 +65,7 @@ menus:
weight: 8
buttons:
- name: "Install Lix"
- name: "Install Lix (beta)"
url: "/install"
weight: 5
pre: "btn btn-primary text-light"

View file

@ -61,63 +61,3 @@ provide a collection of necessary improvements over CppNix:
And room to grow means room for [usability and ergonomics improvements](#) -- both in the langauge and in
tooling.
## Frequently Asked Questions (relatively speaking)
#### Q: Can I use my existing Nix/NixOS configuration?
Absolutely. A primary goal of the Lix project is compatibility, which means that we very much support
using Lix in any existing Nix or NixOS configuration.
Check out the [install page](/install) to see how to use Lix with your existing configurations.
#### Q: What are your plans for flakes?
One of our primary goals is compatibility. While flakes are an experimental technology, their use is
widespread enough that they've become a de-facto part of the Nix ecosystem -- and thus we consider them
to be part of our compatibility guarantee.
That said, we're not tied to any particular flake implementation. As Lix develops, we plan on adding an
extension system for the tooling -- which will allow technologies like flakes, as well as new and different
extensions -- to seamlessly act with the Lix core without needing to reside long-term in the Lix tree.
#### Q: What relation does Lix have to the Nix Foundation, and to related projects?
Besides being a fork of CppNix and an implementation of the Nix language, Lix is the
effort of a number of long-time Nix, Nixpkgs, NixOS, and Tvix contributors and maintainers -- and has
been developed in partnership with a number of prolific Nix-documenters, bloggers, and users.
We welcome anyone who wants to develop for both Lix and another implementation -- including CppNix and _Tvix_,
and our open-source implementation absolutely allows any developer to integrate our code into any
license-compatible project.
However, ___Lix does not fall under the NixOS Foundation umbrella___, is funded independently of the foundation,
and is not in any way controlled by its leadership. Unfortunately, at the moment, this is vital for
us to deliver on our promise of a safe and inclusive community.
#### Q: If Lix plans to adopt Rust, what makes it different from Tvix?
Unlike Lix, [Tvix](https://tvix.dev/) is a ground-up re-implementation of the Nix language in Rust,
which shares many of the same modernization goals as Lix -- but also has a long way to go before it can
reach feature parity (and parity in correctness) with the CppNix and Lix implementations.
Lix instead plans a _top-down_, _piecewise_ approach to our Rust extensions and replacements -- which means
that Lix already has feature-parity with -- and correctness exceeding -- the original CppNix.
#### Q: What does the name Lix stand for? How is it pronounced?
Like Nix, Lix isn't really short for anything. The name originally derives from the term _Layered Nix_,
based on the premise of layering new language and tooling features atop a fully-compatible, rock-solid base.
Lix is pronounced like _licks_ -- i.e. what you might do if someone handed you a delicious ice cream cone;
which may or may not be stacked up with lambdas.
#### Q: Can I help?
Absolutely! We love new contributors, and are always looking for contributions in all of our areas -- and
we value contributions of more than just code.
Head over to the [contributing](/contributing) page to get started.

View file

@ -5,3 +5,44 @@ date: "2024-04-27"
author: "Lix Team"
---
Lix exists **first and foremost for its community** -- and we very much hope that will include you!
If you're looking for help, have any questions, want to pitch in -- or just want to talk -- join us
using [one of the venues below](Engaging-with-the-Community) .
## Community Standards
As part of our responsibility to community, we are dedicated to creating a safe and welcoming environment
in which our community can create great things together.
Accordingly, we've developed a set of [community standards](/community-standards), which all contributors
are expected to follow.
## Governance
Lix is developed by a community of passionate users! We have no "benevolent dictator for life",
nor a small foundation board that governs the community. Instead, **we rely on teams of our developers
and users to carry the burdens of maintenance and governance**.
We're currently in the process of establishing a more full-fledged governance model, which we believe must
be built on engagement with -- and feedback from -- our community. In the interim, decisions are made by
simple voting, with one vote held by each member of the "[core team](/team)", who are acting as interim
governance.
## Engaging with the Community
The best way to engage with the community currently is to **join our Matrix space** -- a decentralized
chat platform commonly used among open-source projects.
### Lix Matrix
Joining is relatively straightforward -- you can find us on the `lix.systems` Matrix server.
The easiest way to connect with us is to join our [Matrix space](https://matrix.to/#/#space:lix.systems),
which will allow you to see previews of and join the most relevant community rooms.
Note that all community venues -- including our Matrix rooms -- are subject to our [community standards].
### Community Resources
In order to help folks who are getting started or who want to learn more about Lix, we've created a curated
list of [community resources](/community) that you may find helpful. If you have suggestions, feel free to
drop them in our Matrix chat!

104
content/faq.md Normal file
View file

@ -0,0 +1,104 @@
---
title: "Frequently Asked Questions"
description: "frequently is, of course, relatively speaking"
date: "2024-05-01"
author: "Lix Team"
---
These are the most common questions we get -- or anticipate getting. If you can't find the answer
you're looking for, please feel free to ask over in the [community](/community).
<br/>
#### Q: Can I use my existing Nix/NixOS configuration?
Absolutely. A primary goal of the Lix project is compatibility, which means that we very much support
using Lix in any existing Nix or NixOS configuration.
Check out the [install page](/install) to see how to use Lix with your existing configurations.
#### Q: What are your plans for flakes?
One of our primary goals is compatibility. While flakes are an experimental technology, their use is
widespread enough that they've become a de-facto part of the Nix ecosystem -- and thus we consider them
to be part of our compatibility guarantee.
That said, we're not tied to any particular flake implementation. As Lix develops, we plan on adding an
extension system for the tooling -- which will allow technologies like flakes, as well as new and different
extensions -- to seamlessly act with the Lix core without needing to reside long-term in the Lix tree.
_Flakes are not the only way to write Nix language code in Lix, and we intend to provide a good experience
to those using flakes -- while also improving the experience for those not using them --
by evolving a compatible but more flexible flake-like abstraction in the periphery of the Lix system._
#### Q: What relation does Lix have to the Nix Foundation, and to related projects?
Besides being a fork of CppNix and an implementation of the Nix language, Lix is the
effort of a number of long-time Nix, Nixpkgs, NixOS, and Tvix contributors and maintainers -- and has
been developed in partnership with a number of prolific Nix-documenters, bloggers, and users.
We welcome anyone who wants to develop for both Lix and another implementation -- including CppNix and _Tvix_,
and our open-source implementation absolutely allows any developer to integrate our code into any
license-compatible project.
However, ___Lix does not fall under the NixOS Foundation umbrella___, is funded independently of the foundation,
and is not in any way controlled by its leadership. With the recent reboot of the foundation's governance,
we are in communication with -- and open to collaboration with -- the foundation.
#### Q: How does Lix work? How can I contribute or help out?
The Lix codebase is comprised of a few parts, which you can see a description of
[here](https://wiki.lix.systems/link/18) along with what we want to improve in them. We also have a
lot of areas we are working on other than C++ code that we would love help on, from documentation to
compiling lists of resources, web design, bug tracker triage, and more. If you're looking for an idea
to get started on, we have triaged some tasks
[that we believe should be straightforward](https://git.lix.systems/lix-project/lix/issues?q=&type=all&sort=&state=open&labels=157&milestone=0&project=0&assignee=0&poster=0). To read more
about which tasks we recommend taking on, see
[Freezes and recommended contributions](https://git.lix.systems/lix-project/lix/issues?q=&type=all&sort=&state=open&labels=157&milestone=0&project=0&assignee=0&poster=0).
Feel free to ask for help in the Lix development channel. Especially feel free to ask for us to write down
more work that we would like help with, or to write contribution information that is missing;
it is a goal of the project for it to be easy to get up to speed. Also, if you need additional access to
do some task, such as fixing a typo in the wiki, let us know and we will figure it out.
#### Q: How do I submit changes to the Lix project?
Feel free to ask for help in the Lix development channel. Especially feel free to ask for us to write down
more work that we would like help with, or to write contribution information that is missing; it is a goal
of the project for it to be easy to get up to speed. Also, if you need additional access to do some task,
such as fixing a typo in the wiki, let us know and we'll figure it out.
It is also possible to submit changes as normal GitHub pull requests on lix-project/lix. These are also
welcome, and we will FIXME convert them to Gerrit changes for you for review. However, there are limitations
to the GitHub flow such as PRs needing to be squashed into one change. For larger changes than about 150 lines
of normal code, or if necessary, we may ask for a change to be submitted to Gerrit directly so we can review
it commit-by-commit.
#### Q: What is a Lix account? What do I need one for?
Lix has a central accounts system for all its services. These accounts allow access to Forgejo (the Lix bug tracker
and repositories), Gerrit Code Review, the wiki and other collaboration software we use.
To get started contributing to Lix, you need a Lix account. The easiest way to obtain one is to use GitHub
for login, as it will let you get started immediately. We also have local accounts available for those who
wish not to use GitHub; if you would like one, please speak to a member of the Lix team on Matrix and we
will gladly make you one manually.
#### Q: If Lix plans to adopt Rust, what makes it different from Tvix?
Unlike Lix, [Tvix](https://tvix.dev/) is a ground-up re-implementation of the Nix language in Rust,
which shares many of the same modernization goals as Lix -- but also has a long way to go before it can
reach feature parity (and parity in correctness) with the CppNix and Lix implementations.
Lix instead plans a _top-down_, _piecewise_ approach to our Rust extensions and replacements -- which means
that Lix already has feature-parity with -- and correctness exceeding -- the original CppNix.
#### Q: What does the name Lix stand for? How is it pronounced?
Like Nix, Lix isn't really short for anything. The name originally derives from the term _Layered Nix_,
based on the premise of layering new language and tooling features atop a fully-compatible, rock-solid base.
Lix is pronounced like _licks_ -- i.e. what you might do if someone handed you a delicious ice cream cone;
which may or may not be stacked up with lambdas.

View file

@ -44,7 +44,7 @@ Members (in alphabetical order):
- **Qyriad ([@Qyriad](https://github.com/Qyriad), she/her [singular] or they/them [plural])**
Build system experts who delve way, way too deep into tooling -- so you don't have to.
- **raito ([@RaitoBezarius](https://github.com/RaitoBezarius), he/they)**
- **raito ([@RaitoBezarius](https://github.com/RaitoBezarius), he/him)**
Raito is working on nixpkgs packaging, infrastructure, and review in Lix.
They are a Tvix developer focusing on the store and the evaluator.
@ -66,11 +66,26 @@ and to recuse themselves from any leadership decisions affected.
As transparency is important, we've included declarations from each core team member regarding any possible
conflicts of interest.
- **hexchen** <mark>TODO</mark>
- **hexchen**
hexchen's employer and its sister companies use Nix/Lix internally and offer Nix-based consulting.
hexchen has no stake in the company, does not work in the consulting teams and there is no
expectation for her to contribute to Lix on company time. **Should a governance decision involving
these or any other financial ties arise, hexchen will recuse herself from decision-making.**
- **Irenes** <mark>TODO</mark>
- **Irene Knapp** (they/them) is the technology director of Internet Safety Labs (ISL), a US-based 501(c)(3)
non-profit. To the best of Irene's knowledge, ISL has no financial involvement with any Lix or Nix
effort or organization, other than its own internal infrastructure.
Irene is also involved in an advisory capacity with the Coworker Solidarity Fund, a US-based 501(c)(4).
**Should a governance decision involving these or any other financial ties arise, Irene will recuse themselves
from decision-making.** Additionally, while the following does not fall within the scope of any reasonable
conflict of interest policy and is not within the scope of the recusal promise,
Irene chooses to affirm that they have many personal ties to trans, disabled and
neurodivergent tech workers, and are involved with providing and encouraging peer support to same.
Irene views the broader queer, disabled, and neurodivergent communities as the primary people to whom
they are responsible as an activist, regardless of whatever other affiliations they may have.
- **jade** <mark>TODO</mark>
- **Jade** is currently not working on anything else relevant to Lix development.
- She thus declares that she has **no conflicts of interest** regarding the governance of Lix.
- **Kate Temkin** is the CEO and one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
sponsors Lix development. TMLLC declares that it has no financial stake in the future of Lix or Nix,
@ -80,17 +95,24 @@ conflicts of interest.
- **Lunaphied** declare that they have **no conflicts of interest** regarding the governance of Lix.
- **pennae** <mark>TODO</mark>
- **pennae** declare that they have **no conflicts of interest** regarding the governance of Lix.
- **puck** <mark>TODO</mark>
- **Puck** is working on a NLnet project involving Nix. Should a governance decision involving relevant
financial interests arise, she will recuse herself from the relevant decision-making.
- **Qyriad** is a one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
sponsors Lix development. TMLLC declares that it has no financial stake in the future of Lix or Nix,
no ties to the military-industrial-complex, and a strong commitment to avoiding such ties. TMLLC is
owned by individuals, and not VC investors. Qyriad accordingly declares she has **no conflicts of interest**
regarding governance of Lix.
owned by individuals, and not VC investors. **Should any decision arise in which TMLLC's interests are
relevant, Qyriad will recuse herself from the relevant decision-making**.
- **raito** <mark>TODO</mark>
- **raitobezarius** declares that he's self-employed in a cooperative, offers Nix-based consulting and training.
He has currently no stake in the cooperative, though this will change soon. He's also employed by INRIA until
August 2024 on Rust formal verification matters. **Should a governance decision involving these or any other
financial ties arise, raitobezarius will recuse himself from decision-making.**
Additionally, raitobezarius is co-president of DGNum (dgnum.eu), a French "loi 1901" nonprofit organization
aiming to promote the parisian Ecole Normale Superieure (45 rue d'Ulm, 75005 Paris) excellence on computer
science using heavily Nix/NixOS based technologies.
- **wiggles** <mark>TODO</mark>