Skip to content

Commit 8d1630c

Browse files
JoelMarceytraviscross
authored andcommitted
s/Ferrocene Language Specification/FLS/ and update README
This works to replace "Ferrocene Language Specification" with "FLS" across the document until we come up with our preferred name to replace the FLS. This includes removing the Ferrocene logo and replacing it with the Rust Project logo in the sidebar. This also updates the README to provide appropriate credit to Ferrous Systems and provide the history of the FLS when it was the Ferrocene Language Specification.
1 parent 49db1e6 commit 8d1630c

51 files changed

Lines changed: 226 additions & 98 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ __pycache__
1313
/.linkchecker
1414

1515
# Mac OS ignored files
16-
.DS_Store
16+
.DS_Store

CONTRIBUTING.rst

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
.. SPDX-License-Identifier: MIT OR Apache-2.0
22
SPDX-FileCopyrightText: The Ferrocene Developers
3+
SPDX-FileCopyrightText: The Rust Project Contributors
34
45
====================================================
5-
Contributing to the Ferrocene Language Specification
6+
Contributing to the FLS
67
====================================================
78

8-
We released the Ferrocene Language Specification (FLS) publicly under an open
9-
source license. That's always been our goal, and since we announced our effort,
10-
a lot of people and organizations expressed their interest in it!
9+
The FLS is released publicly under an open source license, specifically MIT and
10+
Apache 2.0.
1111

1212
The specification is still a work in progress, and while we're open to
1313
contributions, we want to manage your expectations on how much we'll be able to
@@ -20,19 +20,19 @@ interact with the community in this repository:
2020
* Our resources are limited when it comes to reviewing PRs, especially large
2121
ones.
2222

23-
Well try our best to review changes proposed by the community, but we might
24-
not be able to review all of them (or they might be out of date once we get to
25-
them). If there are changes youd like to make, we recommend opening an issue
26-
beforehand, so that we can provide feedback on whether well be able to merge
23+
We'll try our best to review changes proposed by the community, but we might not
24+
be able to review all of them (or they might be out of date once we get to
25+
them). If there are changes you'd like to make, we recommend opening an issue
26+
beforehand, so that we can provide feedback on whether we'll be able to merge
2727
the changes.
2828

29-
We've all dealt with those open source projects that feel open in name only,
30-
and have big patches and history-free source drops appearing from behind the
31-
walls of some large organization. We don't like that, and we're not going to do
32-
that. But please bear with us until we have the capacity to accept all external
29+
We've all dealt with those open source projects that feel open in name only, and
30+
have big patches and history-free source drops appearing from behind the walls
31+
of some large organization. We don't like that, and we're not going to do that.
32+
But please bear with us until we have the capacity to accept all external
3333
contributions.
3434

35-
This introduction was inspired by Oxide Computer Companys `Hubris
35+
This introduction was inspired by Oxide Computer Company's `Hubris
3636
contribution guidelines
3737
<https://github.com/oxidecomputer/hubris/blob/master/CONTRIBUTING.md>`_.
3838

@@ -45,12 +45,11 @@ grammar and structure of the FLS. You'll find everything you need to in `Chapter
4545

4646
There are three kinds of contribution that can be made:
4747

48-
* **Flags:** Here the contributor makes the Ferrocene team aware of changes
49-
that were made upstream, but leaves the changes up to the Ferrocene team.
50-
This helps Ferrocene with our mission to "keep the moving parts safe" and
51-
ensures that we can respond to upstream changes in a timely manner. Please
52-
`open an issue <https://github.com/ferrocene/specification/issues>`_ for
53-
this.
48+
* **Flags:** Here the contributor makes the Ferrocene team aware of changes that
49+
were made upstream, but leaves the changes up to the Ferrocene team. This
50+
helps Ferrocene with our mission to "keep the moving parts safe" and ensures
51+
that we can respond to upstream changes in a timely manner. Please `open an
52+
issue <https://github.com/ferrocene/specification/issues>`_ for this.
5453

5554
* **Fixes:** These are defined as small errors or suggestions for improvements
5655
within one or two sentences. The structure of the content still makes sense,
@@ -60,15 +59,14 @@ There are three kinds of contribution that can be made:
6059
* **Rewrites:** These are bigger changes in which a contributor rewrites an
6160
entire chapter, section or subsection. Please open an issue to discuss the
6261
rewrite you want to make, and if we have the capacity to accept and review it
63-
well coordinate on how to best do it.
62+
we'll coordinate on how to best do it.
6463

6564
PRs and approval
6665
================
6766

6867
Whether the changes appear in the FLS will remain the responsibility and
69-
discretion of the Ferrocene team. Changes may be approved as is or may be
70-
edited to match the tone, style and format of the FLS.
68+
discretion of the Ferrocene team. Changes may be approved as is or may be edited
69+
to match the tone, style and format of the FLS.
7170

7271
Again, we thank you for your patience as we address the suggested changes and,
73-
last but not least, thank you for your interest and contributions to the
74-
Ferrocene Language Specification!
72+
last but not least, thank you for your interest and contributions to the FLS!

LICENSES/LicenseRef-Proprietary.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

README.rst

Lines changed: 53 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,67 @@
11
.. SPDX-License-Identifier: MIT OR Apache-2.0
22
SPDX-FileCopyrightText: The Ferrocene Developers
3+
SPDX-FileCopyrightText: The Rust Project Contributors
34
45
================================
5-
Ferrocene Language Specification
6+
FLS
67
================================
78

89
.. raw:: html
910

10-
<p align="center"><a href="https://spec.ferrocene.dev">Read the
11-
specification &raquo;</a></p>
11+
<p align="center"><a href="https://rust-lang.github.io/fls">Read the document
12+
&raquo;</a></p>
1213

13-
The Ferrocene Language Specification (FLS) is a document describing the Rust
14-
language. It was created as one of the prerequisites for qualifying
15-
`Ferrocene`_, a Rust toolchain qualified for safety-critical environments. The
16-
FLS is compiled of existing Rust documentation, but presented with a rigorous
17-
structure in order to meet the requirements of qualification.
14+
The FLS is a document describing aspects of the Rust language for Rust toolchain
15+
qualification purposes.
1816

19-
The FLS is not intended to be used as the normative specification of the Rust
20-
language, nor is it meant to replace the decision-making processes of the Rust
21-
project. Any difference between the FLS and the behavior of the Rust compiler
22-
is considered an error on our part and the FLS will be updated accordingly.
17+
It was created by Ferrous Systems, in an original joint effort with AdaCore, as
18+
one of the prerequisites for qualifying `Ferrocene`_, a Rust toolchain qualified
19+
for safety-critical environments. The FLS is compiled of existing Rust
20+
documentation, but presented with a rigorous structure in order to meet the
21+
requirements of qualification.
2322

24-
The Ferrocene Language Specification text is licensed under either the ``MIT``
25-
or ``Apache-2.0`` licenses, at your option. Individual files might have
26-
different licensing. Licensing metadata is present in each file, and the full
27-
licenses text is present in the ``LICENSES/`` directory.
23+
The FLS is not intended to be used as *the* normative specification of the Rust
24+
language (see the `Rust Reference`_), nor is it meant to replace the
25+
decision-making processes of the Rust project. Any difference between the FLS
26+
and the behavior of the Rust compiler is considered an error on our part and the
27+
FLS will be updated accordingly.
28+
29+
The FLS text is licensed under either the ``MIT`` or ``Apache-2.0`` licenses, at
30+
your option. Individual files might have different licensing. Licensing metadata
31+
is present in each file, and the full licenses text is present in the
32+
``LICENSES/`` directory.
2833

2934
.. _Ferrocene: https://ferrocene.dev
35+
.. _Rust Reference: https://doc.rust-lang.org/reference/
36+
37+
Acknowledging Ferrous Systems
38+
=============================
39+
40+
The Rust Project would like to thank `Ferrous Systems`_ for `donating`_ the FLS
41+
(formerly the Ferrocene Language Specification) to the Rust Project for its
42+
continued maintenance and development.
43+
44+
As a brief history, the FLS is a description of the Rust programming language,
45+
developed by Ferrous Systems and `AdaCore`_ in July 2022 as part of Ferrocene, a
46+
Rust compiler and toolchain designed for safety-critical and regulated
47+
industries. The FLS provides a structured and detailed reference for Rust's
48+
syntax, semantics, and behavior, serving as a foundation for verification,
49+
compliance, and standardization efforts. The FLS represented a major step toward
50+
describing Rust in a way that aligns with industry requirements, particularly in
51+
high-assurance domains. Ferrous Systems had been the sole steward of the FLS
52+
since July 2023.
53+
54+
.. _Ferrous Systems: https://ferrous-systems.com
55+
.. _donating: https://rustfoundation.org/media/ferrous-systems-donates-ferrocene-language-specification-to-rust-project/
56+
.. _AdaCore: https://www.adacore.com
3057

3158
Building the specification
3259
==========================
3360

34-
FLS uses `Sphinx`_ to build a rendered version of the specification, and `uv`_ to install and manage
35-
Python dependencies (including Sphinx itself). To simplify building the rendered version, we created
36-
a script called ``make.py`` that takes care of invoking Sphinx with the right flags.
61+
FLS uses `Sphinx`_ to build a rendered version of the specification, and `uv`_
62+
to install and manage Python dependencies (including Sphinx itself). To simplify
63+
building the rendered version, we created a script called ``make.py`` that takes
64+
care of invoking Sphinx with the right flags.
3765

3866
You can build the rendered version by running::
3967

@@ -48,8 +76,8 @@ building::
4876

4977
The rendered version will be available in ``build/html/``.
5078

51-
You can also start a local server on port 8000 with automatic rebuild and
52-
reload whenever you change a file by passing the ``-s`` flag::
79+
You can also start a local server on port 8000 with automatic rebuild and reload
80+
whenever you change a file by passing the ``-s`` flag::
5381

5482
./make.py -s
5583

@@ -70,8 +98,9 @@ rendered documentation.
7098
Updating build dependencies
7199
===========================
72100

73-
The FLS uses ``uv`` to manage the Python dependencies used for builds. If you change the list of
74-
dependencies in ``pyproject.toml`` they will automatically be installed the next time you run
75-
``make.py``. If you want to update the packages in the lockfile, run::
101+
The FLS uses ``uv`` to manage the Python dependencies used for builds. If you
102+
change the list of dependencies in ``pyproject.toml`` they will automatically be
103+
installed the next time you run ``make.py``. If you want to update the packages
104+
in the lockfile, run::
76105

77106
uv lock --upgrade

exts/ferrocene_spec/README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
FLS Sphinx Extension
66
====================
77

8-
To enhance the Ferrocene Language Specification, and to facilitate its
9-
authoring, updating, and testing it easier, we developed and use a custom
10-
Sphinx extension that adds new roles and directives. The source code of the
11-
extension is in the ``exts/ferrocene_spec`` directory.
8+
To enhance the FLS, and to facilitate its authoring, updating, and testing it
9+
easier, we developed and use a custom Sphinx extension that adds new roles and
10+
directives. The source code of the extension is in the ``exts/ferrocene_spec``
11+
directory.
1212

1313
.. contents:: In this document:
1414

src/conf.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212

1313
# -- Project information -----------------------------------------------------
1414

15-
project = "Ferrocene Language Specification"
16-
copyright = "The Ferrocene Developers"
17-
author = "The Ferrocene Developers"
15+
project = "FLS"
16+
copyright = "The Ferrocene Developers and The Rust Project Contributors"
17+
author = "The Ferrocene Developers and The Rust Project Contributors"
1818

1919

2020
# -- General configuration ---------------------------------------------------
@@ -44,15 +44,15 @@
4444
# a list of builtin themes.
4545
#
4646

47-
html_theme = "ferrocene"
47+
html_theme = "fls"
4848
html_theme_path = ["../themes"]
4949

5050
html_theme_options = {
5151
"license": "MIT or Apache 2.0",
5252
}
5353

54-
html_title = "Ferrocene Language Specification"
55-
html_short_title = "Language Specification"
54+
html_title = "FLS"
55+
html_short_title = "FLS"
5656

5757
# -- Options for linting -----------------------------------------------------
5858

src/glossary.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.. SPDX-License-Identifier: MIT OR Apache-2.0
22
SPDX-FileCopyrightText: The Ferrocene Developers
3+
SPDX-FileCopyrightText: The Rust Project Contributors
34
45
.. default-domain:: spec
56

@@ -5890,8 +5891,7 @@ rustc
58905891
^^^^^
58915892

58925893
:dp:`fls_zdgbeixirjfm`
5893-
Rust-c (or :dt:`rustc`) is a compiler that implements the Ferrocene Language
5894-
Specification.
5894+
:dt:`rustc` is a compiler that implements the FLS.
58955895

58965896
.. _fls_Q4MRIo7cWv5K:
58975897

src/index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
.. SPDX-License-Identifier: MIT OR Apache-2.0
22
SPDX-FileCopyrightText: The Ferrocene Developers
3+
SPDX-FileCopyrightText: The Rust Project Contributors
34
4-
Ferrocene Language Specification
5-
================================
5+
FLS
6+
===
67

78
.. toctree::
89
:numbered:

src/undefined-behavior.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.. SPDX-License-Identifier: MIT OR Apache-2.0
22
SPDX-FileCopyrightText: The Ferrocene Developers
3+
SPDX-FileCopyrightText: The Rust Project Contributors
34
45
.. default-domain:: spec
56
.. informational-page::
@@ -10,7 +11,6 @@ List of undefined behavior
1011
==========================
1112

1213
:dp:`fls_f9mkI99mzPxY`
13-
The following sections of the Ferrocene Language Specification document
14-
undefined behavior:
14+
The following sections of the FLS document undefined behavior:
1515

1616
.. items-with-rubric:: Undefined Behavior

themes/ferrocene/static/favicon.svg

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)