Apache OpenWhisk is an Apache Incubator project which provides a complete Serverless, or Function-as-a-Service, platform along with an ecosystem of curated functional packages, client SDKs and integration tooling.
This Wiki is intended for our community to share their thoughts about and collaborate around any aspect of the project; whether it's about the platform architecture, an existing or planned feature or about its use cases and integrations, this is the place to do it.
- Website: http://openwhisk.org/ - The project website with latest developer, integrator or end-user information, including "getting started".
- GitHub: https://github.com/openwhisk - The project code hosted on GitHub which includes extensive markdown documentation.
- Slack: openwhisk-team.slack.com
Serverless computing is the evolutionary next stage in Cloud computing carrying further the abstraction offered to software developers using Container-based operating system virtualization. The Serverless paradigm enables programmers to just “write” functional code and not worry about having to configure any aspect of a server needed for execution. Such Serverless functions are single purpose and stateless that respond to event-driven data sources and can be scaled on-demand.
OpenWhisk's containerized design tenants not only allows it to be hosted in various IaaS, PaaS Clouds platforms that support Docker containers, but also achieves the high expectation of the Serverless computing experience by masking all aspects of traditional resource specification and configuration from the end user simplifying and accelerating Cloud application development. In order to enable HTTP requests as a source of events, and thus the creation of Serverless microservices that expose REST APIs, OpenWhisk includes an API Gateway that performs tasks like security, request routing, throttling, and logging.
How to contribute?
The Apache OpenWhisk project is actively seeking new contributors to work on all aspects of the project. We need and appreciate all contributions, including documentation help, source code development and feedback.
Some basic steps for creating issues (i.e., for bugs or features):
- When you have found an issue or you want to propose a new feature, post a message to OpenWhisk's "dev" email list to discuss it <or> ask about what you are seeing in our Slack channel.
- Search existing GitHub issues (for the respective project repository) to see whether someone had already encountered the same issue. Contribute any additional info. you have on the problem or possible solution.
- If this issue is never encountered before, create a new GitHub issue.
- Include or develop a test case to demonstrate the problem and attach it to issue.
- If you have also developed a fix for the raised issue, submit a Pull Request (PR) in referencing the issue you created.
Each sub-project of OpenWhisk has its own GitHub repository where each should have a README (.md, markdown) file that explains the subproject and provides information on how to install, configure and run that repository's code.
How do I become a contributor or a committer?
Everyone can contribute to OpenWhisk project as a contributor; contributors who build up a history of successful contributions over time are invited to become committers. The difference is that committers have direct write (merge) access to the project code repositories, while contributors have read access and submit GitHub Pull Requests (or PRs) of their contributions for committers to merge following peer review. See http://www.apache.org/dev/contributors.html for a good overview of working as a contributor.
All Contributors need to sign an Apache Contributor License Agreement (CLA)
The OpenWhisk project asks that contributors to fill out and send into Apache, an Individual Contributors License Agreement (ICLA) (and perhaps also a Corporate Contributors License Agreement (CCLA)). It is our policy for Committers to not merge any contributions of significance (i.e., other than minor documentation, typos, or small single-line bug fixes) without verifying the submitter has a CLA on file with the Apache Software Foundation (ASF).
All Contributors should
- Subscribe to the "dev" mailing list (or its digest) and introduce themselves!
- Sign up for a Confluence WiKi account to collaborate with fellow project contributors.
- Jon our developer Slack channel and say hello...
- Assure that their First, Last names and email address are filled out in their GitHub account profile
- Enable 2-Factor Authentication within their GitHub user account
Becoming a Committer
If you're interested in committing to the project, you need to establish a history, over time, of successful contributions to the project. After such recognition, you can then be invited to become a committer by the existing Project Management Committee (PMC) membership.
- Once you have been elected a committer, you will go through a process to obtain an apache committer account: See New Committers Guide, Contributors, and Committers for more details on responsibilities.
- After you've received an email from firstname.lastname@example.org with your committer account information, you will be added to the project's appropriate access lists (i.e., LDAP) and provided with further instructions.