blob: 8fd075240fafc90090f771aa16dd6aa0e9b1d56e [file] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Apache NetBeans packaging guidelines
Apache NetBeans is distributed by a number of downstream entities. We
recognize the importance of these distributors, and are grateful for their
support. This document outlines some key requirements that must be
followed to distribute packages of Apache NetBeans under that name. It
complements the ASF's [Downstream Distribution Branding Policy][asf-downstream].
Packages of Apache NetBeans MUST be built from the officially released
source code zip, or from the associated binary zip release. These are
listed on the download pages of the [Apache NetBeans website][nb-download].
Packages MUST NOT be built from staged artefacts or before the release
vote has completed successfully.
Packages MUST NOT be built from a git checkout or the automatic zip on
release tags. The repository contains non-released sources and is
missing certain required metadata for an accurate release.
Testing packages of Apache NetBeans release candidates MAY be produced
using files from the [nightlies server][nb-nightlies]. If made available to
download they MUST be clearly marked as not built from an official
release.
Packages MAY patch the release to remove OS-specific binaries and
other files not required by the target OS. Any other patching must be
in line with the [sources requirements][asf-downstream-sources] of the ASF
distribution policy. We prefer Apache NetBeans is packaged as released.
Packages MAY include an open-source JDK alongside Apache NetBeans
within a single self-contained bundle. The JDK MUST be either the
latest release (recommended), or the latest LTS, compatible with the
Apache NetBeans version. The JDK MUST NOT include JavaFX. Distributors
SHOULD ensure that the licensing information for Apache NetBeans and
for the bundled JDK are clear and distinct.
We provide the [NBPackage tool][nbpackage] for building packages from the
binary zip. It supports bundling a JDK. Distributors MAY choose to use
this tool to build packages.
The Apache NetBeans build is not reproducible. NBPackage is designed
to keep as many files as possible binary comparable with the release
artefact. Distributors using another tool to produce packages from the
binary zip SHOULD ensure that the contents of the package can be
similarly verified. Distributors packaging from a source release
SHOULD ensure that the build process is transparent and the source
link verifiable.
Distributors MUST provide contact details for reporting bugs and
security vulnerabilities related to their packages. They SHOULD
consider suitable practices for security and user experience - build
verification, file hashes, code signing, notarization, immutable
releases, etc.
Any queries about how to apply these requirements and guidelines
should be raised on the [Dev mailing list][nb-dev-list].
[asf-downstream]: https://www.apache.org/foundation/marks/downstream
[nb-download]: https://netbeans.apache.org/download/
[nb-nightlies]: https://nightlies.apache.org/netbeans/candidate/netbeans/
[asf-downstream-sources]: https://www.apache.org/foundation/marks/downstream#source
[nbpackage]: https://github.com/apache/netbeans-nbpackage/
[nb-dev-list]: https://netbeans.apache.org/community/mailing-lists/