Skip to content

Commit 9ada2f8

Browse files
committed
README makeover
This readme is now appropriate to include in release tarballs.
1 parent 9f112b7 commit 9ada2f8

File tree

1 file changed

+95
-26
lines changed

1 file changed

+95
-26
lines changed

README.md

Lines changed: 95 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,111 @@
33
A general-purpose programming language and toolchain for maintaining
44
**robust**, **optimal**, and **reusable** software.
55

6-
## Resources
6+
https://ziglang.org/
77

8-
* [Introduction](https://ziglang.org/learn/#introduction)
9-
* [Download & Documentation](https://ziglang.org/download)
10-
* [Chapter 0 - Getting Started | ZigLearn.org](https://ziglearn.org/)
11-
* [Community](https://github.com/ziglang/zig/wiki/Community)
12-
* [Contributing](https://github.com/ziglang/zig/blob/master/.github/CONTRIBUTING.md)
13-
* [Code of Conduct](https://github.com/ziglang/zig/blob/master/.github/CODE_OF_CONDUCT.md)
14-
* [Frequently Asked Questions](https://github.com/ziglang/zig/wiki/FAQ)
15-
* [Community Projects](https://github.com/ziglang/zig/wiki/Community-Projects)
8+
## Documentation
9+
10+
If you are looking at this README file in a source tree, please refer to the
11+
**Release Notes**, **Language Reference**, or **Standard Library
12+
Documentation** corresponding to the version of Zig that you are using by
13+
following the appropriate link on the
14+
[download page](https://ziglang.org/download).
15+
16+
Otherwise, you're looking at a release of Zig, and you can find documentation
17+
here:
18+
19+
* doc/langref.html
20+
* doc/std/index.html
1621

1722
## Installation
1823

1924
* [download a pre-built binary](https://ziglang.org/download/)
2025
* [install from a package manager](https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager)
21-
* [build from source](https://github.com/ziglang/zig/wiki/Building-Zig-From-Source)
2226
* [bootstrap zig for any target](https://github.com/ziglang/zig-bootstrap)
2327

24-
## License
28+
A Zig installation is composed of two things:
29+
30+
1. The Zig executable
31+
2. The lib/ directory
32+
33+
At runtime, the executable searches up the file system for the lib/ directory,
34+
relative to itself:
35+
36+
* lib/
37+
* zig/lib/
38+
* ../lib/
39+
* ../zig/lib/
40+
* (and so on)
41+
42+
In other words, you can **unpack a release of Zig anywhere**, and then begin
43+
using it immediately. There is no need to install it globally, although this
44+
mechanism supports that use case too (i.e. `/usr/bin/zig` and `/usr/lib/zig/`).
45+
46+
## Building from Source
47+
48+
Ensure you have the required dependencies:
49+
50+
* CMake >= 2.8.12
51+
* System C/C++ Toolchain
52+
* LLVM, Clang, LLD development libraries == 16.x
53+
54+
Then it is the standard CMake build process:
55+
56+
```
57+
mkdir build
58+
cd build
59+
cmake ..
60+
make install
61+
```
62+
63+
For more options, tips, and troubleshooting, please see the
64+
[Building Zig From Source](https://github.com/ziglang/zig/wiki/Building-Zig-From-Source)
65+
page on the wiki.
66+
67+
## Contributing
68+
69+
Zig is Free and Open Source Software. We welcome bug reports and patches from
70+
everyone. However, keep in mind that Zig governance is BDFN (Benevolent
71+
Dictator For Now) which means that Andrew Kelley has final say on the design
72+
and implementation of everything.
73+
74+
One of the best ways you can contribute to Zig is to start using it for an
75+
open-source personal project.
76+
77+
This leads to discovering bugs and helps flesh out use cases, which lead to
78+
further design iterations of Zig. Importantly, each issue found this way comes
79+
with real world motivations, making it straightforward to explain the reasoning
80+
behind proposals and feature requests.
81+
82+
You will be taken much more seriously on the issue tracker if you have a
83+
personal project that uses Zig.
84+
85+
The issue label
86+
[Contributor Friendly](https://github.com/ziglang/zig/issues?q=is%3Aissue+is%3Aopen+label%3A%22contributor+friendly%22)
87+
exists to help you find issues that are **limited in scope and/or knowledge of
88+
Zig internals.**
2589

26-
The ultimate goal of the Zig project is to serve users. As a first-order
27-
effect, this means users of the compiler, helping programmers to write better
28-
software. Even more important, however, are the end-users.
90+
Please note that issues labeled
91+
[Proposal](https://github.com/ziglang/zig/issues?q=is%3Aissue+is%3Aopen+label%3Aproposal)
92+
but do not also have the
93+
[Accepted](https://github.com/ziglang/zig/issues?q=is%3Aissue+is%3Aopen+label%3Aaccepted)
94+
label are still under consideration, and efforts to implement such a proposal
95+
have a high risk of being wasted. If you are interested in a proposal which is
96+
still under consideration, please express your interest in the issue tracker,
97+
providing extra insights and considerations that others have not yet expressed.
98+
The most highly regarded argument in such a discussion is a real world use case.
2999

30-
Zig is intended to be used to help **end-users** accomplish their goals. Zig
31-
should be used to empower end-users, never to exploit them financially, or to
32-
limit their freedom to interact with hardware or software in any way.
100+
For more tips, please see the
101+
[Contributing](https://github.com/ziglang/zig/wiki/Contributing) page on the
102+
wiki.
33103

34-
However, such problems are best solved with social norms, not with software
35-
licenses. Any attempt to complicate the software license of Zig would risk
36-
compromising the value Zig provides.
104+
## Community
37105

38-
Therefore, Zig is available under the MIT (Expat) License, and comes with a
39-
humble request: use it to make software better serve the needs of end-users.
106+
The Zig community is decentralized. Anyone is free to start and maintain their
107+
own space for Zig users to gather. There is no concept of "official" or
108+
"unofficial". Each gathering place has its own moderators and rules. Users are
109+
encouraged to be aware of the social structures of the spaces they inhabit, and
110+
work purposefully to facilitate spaces that align with their values.
40111

41-
This project redistributes code from other projects, some of which have other
42-
licenses besides MIT. Such licenses are generally similar to the MIT license
43-
for practical purposes. See the subdirectories and files inside lib/ for more
44-
details.
112+
Please see the [Community](https://github.com/ziglang/zig/wiki/Community) wiki
113+
page for a public listing of social spaces.

0 commit comments

Comments
 (0)