Page Contents

Overview

Bintray is a platform for binary software files of all types, and uploading files is one of its key functionalities. Users can upload their data in several ways (manually and through a variety of tools using APIs); this data is stored in an organized, hierarchical structure that is relevant for the interaction between software modules and between users.

Upload Functionality Features

The upload functionality of Bintray includes the following features:

  • Full Control: The material you upload to Bintray remains your material. It may be associated with the material of others and you may work cooperatively with them, but unless you willingly transfer ownership, you retain full control of your material and full rights to it.

  • Import from GitHub: Optionally, instead of uploading material stored locally, you can import into Bintray material from your GitHub account.

  • Automatic Creation of Versions: Automatic creation of versions is a feature of Bintray that kicks in when you upload content with the Bintray REST API tool.

    When a file is uploaded automatically to Bintray via the Maven tool, if the file is uploaded to a path that does not yet exist, this path will be created.

    When a file is uploaded automatically to Bintray via other tools, Bintray can create versions automatically if these not-yet-existing versions are indicated in the upload’s HTTP headers (for those tools that support HTTP headers in the configuration) or matrix parameters.

  • Automatic Index Calculation: Yet one more of the cool features of Bintray is automatic indexing. The index is calculated asynchronously by a background job and is updated every time new data is uploaded (or when existing content is deleted). This spares the user from having to use yet another third-party tool just for the indexing. Automatic indexing applies only to Maven, YUM, RPM and Debian repositories.

Before Uploading

In Bintray, the upload process is simple and straightforward. A few points, however to note are as follows:

  • Licensing: Every package uploaded to Bintray must include a reference to the license under which it may be used, modified and redistributed by the users.

  • Import Options: If your material already published in GitHub, you can easily and systematically import it from GitHub to Bintray without the need to re-upload it.

  • Advanced Support Although Bintray supports the uploading of any type of software, some package formats (such as Docker, Maven, Debian and others) enjoy advanced support such as automatic calculation and indexing of metadata.

Software Licensing for Packages in Bintray

For every open source package posted in Bintray, the owner must indicate by which license others users may use, reproduce and redistribute the software. The choice of which license to assign the package is up to the owner of the package and in the Bintray UI, the owner may choose from dozens of industry-standard licenses or propose his own license. (For packages distributed under a EULA, please refer to Managing Products and EULAs)

It is possible to assign more than one license to a package.

Assigning a license for the use of your software is done for each package as it is being created. It can also be changed when the package is edited.

To assign a license to a package:

  1. When creating a new package (or when editing an existing package), in the Create Package page’s (or the Edit Package page’s) Package Details form, click inside the Licenses field.

    A drop-down list opens in this field, including all the dozens-upon-dozens of optional licenses that are available today.

    License options (Create Package)

  2. Select the desired license from the drop-down list.

  3. Click Save Package or Update Package depending on whether you’re creating a new package or editing an existing one.

    The license now appears in the Licenses field.

To remove a license, in the Package Details form, click the encircled "X" button on the right side of the license you want to remove.

Requesting a New License

If none of the offered licences match your needs you can also ask for a different license. This is, of course, subject to the approval of the Bintray team.

To request a new license for your package:

  1. Access the Package Details form of the Create Package page or the Edit Package page (you may request a new license when creating a package or when editing an existing package).

  2. Click the Request a New License Type link.

    Request License (Edit Package)

    A Compose Message page opens, with an Email draft requesting the new license.

    Note: This Email message is automatically addressed to the Bintray team.

    Note: The subject, which includes the name of the user and the phrase “is requesting a new license” cannot be changed.

  3. In the text box below the subject, with the words “Enter a URL containing information about the license”, enter a URL containing information about the license.

  4. Optionally, in the message body text box (the one that says “Please add this licence to Bintray’s list of available OSS licenses.”), replace that generic text with any text you like. However, we do recommend it have something to do with the license.

  5. Finally, check that the URL is correct and then click Send.

Note: Bintray does not accept Creative Commons licenses for packages; these licenses were never meant to be used for software (click here for more information).

How to Upload

Uploading involves a number of steps and can either be done manually (using the Bintray UI) or automatically (using Bintray along with a build tool or package management tool) by using one of the two procedures below.

To upload material manually or automatically (via tools):

  1. Log in to your account.

  2. Create a Repository. Repositories, or repos, are logical categories of information that store your uploads and relevant metadata in them. Repos can contain many downloadable software units in them.

  3. Create a Package. Contained within a repo, each package is a smaller logical unit for storing a software module or a group of files.

  4. Create a Version. Version means a version of a package. Any update or change in the information uploaded is a new version. A version is basically a collection of uploaded software files.

    Note: You may create the version manually (in the Bintray UI) even if the upload is automatic or you may, while uploading, encode the automatic creation of the version in the upload, in the HTTP headers, matrix parameters or (in the case of the Maven build tool) by indicating the path for upload with the version to be created.

  5. Upload the Files Manually to the Version or Upload the Files to Bintray Via a Tool. Now you are ready to upload information to Bintray.

  6. Publish the Contents. Publishing means going public with the files you have uploaded. Only after material is published is it visible to other users. Unpublished material is visible only to the user who uploaded it, in case this user changes his or her mind and wants to retract the upload.

    Note: When a file is uploaded automatically, it may also be published automatically (encoded in the upload) or it may be published manually later.

After uploading, users have many options to select from how to manage the uploaded material (for the sake of the convenience of the user and for security), how to promote the material (within Bintray or with third-party applications) and also options of interacting with other Bintray users.