Find a file
Andrew Kelley c5f1b3224f CI: update_download_page: change docs deployment
The original impetus for making a change here was a typo in --add-header
causing the script to fail. However, upon inspection, I was alarmed that
we were making a --recursive upload to the *root directory* of
ziglang.org. This could result in garbage files being uploaded to the
website, or important files being overwritten. As I addressed this concern,
I decided to take on file compression as well.

Removed compression prior to sending to S3. I am vetoing pre-compressing
objects for the following reasons:
 * It prevents clients from working which do not support gzip encoding.
 * It breaks a premise that objects on S3 are stored 1-to-1 with what is
   on disk.
 * It prevents Cloudflare from using a more efficient encoding, such as
   brotli, which they have started doing recently.

These systems such as Cloudflare or Fastly already do compression on
the fly, and we should interop with these systems instead of fighting them.

Cloudfront has an arbitrary limit of 9.5 MiB for auto-compression. I looked
and did not see a way to increase this limit. The data.js file is currently
16 MiB. In order to fix this problem, we need to do one of the following things:

 * Reduce the size of data.js to less than 9.5 MiB.
 * Figure out how to adjust the Cloudfront settings to increase the max size
   for auto-compressed objects.
 * Migrate to Fastly. Fastly appears to not have this limitation. Note
   that we already plan to migrate to Fastly for the website.
2022-08-31 13:15:42 -07:00
.builds ci: update tarballs for LLVM 13 2021-10-01 16:07:42 -07:00
.github Add codeowners file for automated PR assignment 2022-08-03 16:26:53 +02:00
ci CI: update_download_page: change docs deployment 2022-08-31 13:15:42 -07:00
cmake cmake: build stage3 by default 2022-08-28 17:07:21 -07:00
deps Do not detect byte-order using _BIG/_LITTLE_ENDIAN 2022-04-12 11:14:33 -07:00
doc docs: Remove mention of type inference on anytype struct fields 2022-08-27 20:34:13 +02:00
lib coff: add import table definitions 2022-08-31 19:30:51 +02:00
src coff: write base relocations for the dynamic linker 2022-08-31 14:39:35 +02:00
test disable test for non-llvm backends 2022-08-31 16:46:51 +03:00
tools stage2+stage1: remove type parameter from bit builtins 2022-08-22 11:19:20 +03:00
.gitattributes mark tsan as linguist-vendored 2021-06-25 12:46:23 +03:00
.gitignore std/build: change default install prefix to zig-out 2021-04-29 23:58:45 +02:00
build.zig build: hook up -Dskip-stage2-tests and remove test-toolchain 2022-08-19 16:45:16 -07:00
CMakeLists.txt cmake: add runaway Coff/Object.zig path 2022-08-30 10:42:21 +02:00
LICENSE Y++ 2021-12-31 19:58:21 -05:00
README.md move some files to the .github directory 2022-03-24 12:22:23 -07:00

ZIG

A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Resources

Installation

License

The ultimate goal of the Zig project is to serve users. As a first-order effect, this means users of the compiler, helping programmers to write better software. Even more important, however, are the end-users.

Zig is intended to be used to help end-users accomplish their goals. Zig should be used to empower end-users, never to exploit them financially, or to limit their freedom to interact with hardware or software in any way.

However, such problems are best solved with social norms, not with software licenses. Any attempt to complicate the software license of Zig would risk compromising the value Zig provides.

Therefore, Zig is available under the MIT (Expat) License, and comes with a humble request: use it to make software better serve the needs of end-users.

This project redistributes code from other projects, some of which have other licenses besides MIT. Such licenses are generally similar to the MIT license for practical purposes. See the subdirectories and files inside lib/ for more details.