Skyway Contributor's Guide

From Skyway Wiki

Jump to: navigation, search

Contents

Introduction

This guide is intended for developers and users who would like to contribute to the Skyway Community. Contributions may come in many forms -- from enhancement requests and bug reports to code submissions and documentation improvements, your involvement in the Skyway Community is important to us and is vital to our success. The purpose of this guide is to provide you with the information you need to get started as a contributor.

Contributing to Skyway

Below is an at-a-glance list of how to get started as a contributor to the Skyway Community.

  • Read the license - Skyway Community Edition (CE) is licensed under the GNU General Public License v3 (GPLv3) and the Apache Software License (ASL). The code that constitutes our Eclipse plug-ins and RCP version of our stand-alone application is licensed under the GPLv3. The generated code produced as an output of Skyway is licensed under the ASL.
  • Read and sign the Contributor License Agreement (CLA) - Before contributing code or documentation to the Skyway Community, you must first sign and fax us a Contributor License Agreement. Upon receipt of the CLA, you will be granted privileged access to our issue tracking system and wiki. TODO: Validate that this process makes sense, link to CLA.
  • Subscribe to the appropriate mailing lists - There are a variety of mailing lists available to the Skyway Community. Using the email address that you wish to post messages from, please subscribe to the mailing list(s) that interest you. TODO: Create list of available mailing lists, describe how to subscribe/unsubscribe
  • Contribute to the wiki - The majority of the content available on this wiki is created and maintained by members of various teams at Skyway Software; however, community member contributions are highly encouraged. Please see the Documentation Contribution Processes section for guidelines on submitting wiki content. TODO: Create link to section below
  • Create and improve documentation - TODO: Outside of the wiki, what documentation to we want/expect contributions on? Assumption is that help issues will be logged as issues in JIRA.
  • Review roadmap - Our product roadmap outlines the features and product enhancements targeted for future Skyway releases. Prior to logging an enhancement request in the issue tracking system, please ensure that the feature has not already been accounted for in the roadmap. TODO: Create link to roadmap...will this be in JIRA?
  • Report issues or feature requests in the issue tracking system - Our issue tracking system is the official system of record for all bugs and enhancement requests. If you encounter an issue with the software or identify the need for a product enhancement, let us know about it! Please see the Filing Issues and Feature Requests section for guidelines on submitting cases to our issue tracking system. TODO: Create link to section below
  • Review CVS commits - TODO: Will this be possible? If so, assumption is that commit emails will be sent to a mailing list and community members can subscribe to that list. Need to account for OS vs. proprietary commits.
  • Review the coding standards - All code contributions, whether new development or bug fixes, must adhere to the Skyway coding standards. Please see the Coding Standards section for guidelines that need to be followed for all code contributions.
  • Resolve issues in the issue tracking system -
  • Contribute code -

Contributor License Agreement

Submitting a CLA

To submit code or documentation to Skyway, contributors must agree to the GPLv3 and ASL licenses and also submit a signed Contributor License Agreement (CLA). We welcome reports of issues or feature requests in our issue tracker, and we welcome participation and questions on the mailing lists. However, anything that constitutes intellectual property cannot be included in Skyway unless it is contributed under the terms of the CLA.


CLAs may be submitted via email (cla@skywaysoftware.com), fax (813-288-8266) or mail:

Skyway Software
208 S. Hoover Blvd., Suite 100
Tampa, FL 33609

CLA FAQs

  • Why do you have a CLA?
answer
  • What does the CLA do?
answer
  • What can Skyway do with my contribution?
answer
  • Are Contributor Agreements such as this one common?
answer
  • Do I lose the rights to my work if I contribute code to Skyway after having signed the CLA?
answer
  • How does the CLA help me?
answer
  • How do I terminate my CLA?
answer
  • I am a minor (under the age of 18). Who should sign the CLA?
answer
  • What if I'm contributing on behalf of my company?
answer

Release Management Processes

  • Definitions
  • Product releases
    • Release numbering
    • Packaging
    • Stabilizing and maintaining releases
  • Development tasks
    • Performing a checkout
    • Merging changes
    • Backward incompatible changes
    • Commits to trunk
    • JIRA workflow
  • Repository structure explained
    • Branches
    • Security

Filing Issues and Feature Requests

  • JIRA overview, setup, and processes
  • How to file a bug
  • How to file a feature request
  • Issue tracker etiquette

Source Code Distribution Processes

  • Browsing source code
  • Getting source code
  • Build/installation procedures (dev environment configuration)

Source Code Contribution Processes

  • Code submission guidelines
  • Committing code to the repository

Coding Standards

  • Formatting
  • Naming conventions
  • Coding style
  • Exception handling
  • Comments
  • Extensions

Test Suites/Unit Testing

  • Testing standards
  • Generating tests
  • Writing tests

Documentation Contribution Processes

  • How to contribute to documentation
    • Wiki
    • Help
    • Tutorials

Skyway Architecture

Personal tools