+1 (binding) On Thu, Nov 17, 2016 at 11:22 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> Now that the discussion thread on the OpenWhisk Proposal has died > down, please take a moment to vote on accepting OpenWhisk into the > Apache Incubator. > > The ASF voting rules are described at: > http://www.apache.org/foundation/voting.html > > A vote for accepting a new Apache Incubator podling is a majority vote > for which only Incubator PMC member votes are binding. > > Votes from other people are also welcome as an indication of peoples > enthusiasm (or lack thereof). > > Please do not use this VOTE thread for discussions. > If needed, start a new thread instead. > > This vote will run for at least 72 hours. Please VOTE as follows > [] +1 Accept OpenWhisk into the Apache Incubator > [] +0 Abstain. > [] -1 Do not accept OpenWhisk into the Apache Incubator because ... > > The proposal is listed below, but you can also access it on the wiki: > https://wiki.apache.org/incubator/OpenWhiskProposal > > - Sam Ruby > > = OpenWhisk Proposal = > > OpenWhisk is an open source, distributed Serverless computing platform > able to execute application logic (Actions) in response to events > (Triggers) from external sources (Feeds) or HTTP requests governed by > conditional logic (Rules). It provides a programming environment > supported by a REST API-based Command Line Interface (CLI) along with > tooling to support packaging and catalog services. > > Champion: Sam Ruby, IBM > > Mentors: > * Felix Meschberger, Adobe > * Isabel Drost-Fromm, Elasticsearch GmbH > * Sergio Fernández, Redlink GmbH > > == Background == > > 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. > > The OpenWhisk project offers a truly open, highly scalable, performant > distributed Serverless platform leveraging other open technologies > along with a robust programming model, catalog of service and event > provider integrations and developer tooling. > Specifically, every architectural component service of the OpenWhisk > platform (e.g., Controller, Invokers, Messaging, Router, Catalog, API > Gateway, etc.) all is designed to be run and scaled as a Docker > container. In addition, OpenWhisk uniquely leverages aspects of Docker > engine to manage, load balance and scale supported OpenWhisk runtime > environments (e.g., JavaScript, Python, Swift, Java, etc.), that run > Serverless functional code within Invoker compute instances, using > Docker containers. > > 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. > > == Rationale == > > Serverless computing is in the very early stages of the technology > adoption curve and has great promise in enabling new paradigms in > event-driven application development, but current implementation > efforts are fractured as most are tied to specific Cloud platforms and > services. Having an open implementation of a Serverless platform, such > as OpenWhisk, available and governed by an open community like Apache > could accelerate growth of this technology, as well as encourage > dialog and interoperability. > > Having the ASF accept and incubate OpenWhisk would provide a clear > signal to developers interested in Serverless and its future that they > are welcome to participate and contribute in its development, growth > and governance. > > In addition, there are numerous projects already at the ASF that would > provide a natural fit to the API-centric, event-driven programming > model that OpenWhisk sees as integral to a Serverless future. In fact, > any project that includes a service that can produce or consume > actionable events could become an integration point with > OpenWhisk-enabled functions. Apache projects that manage programming > languages and (micro) service runtimes could become part of the > OpenWhisk set of supported runtime environments for functions. Device > and API gateways would provide natural event sources that could > utilize OpenWhisk functions to process, store and analyze vast amounts > of information immediately unlocking the potential of fast-growing > computing fields offered in spaces as IoT, analytics, cognitive, > mobile and more. > > == Initial Goals == > > OpenWhisk is an open source community project which seeks to adopt the > Apache way through the course of the incubator process and foster > collaborative development in the Serverless space. > > Currently, the OpenWhisk project's source repository is in GitHub > using its associated project tooling, but we believe the open Apache > processes, democratic project governance, along with its rich > developer community and natural integrations with existing projects > provide the ideal fit for the technology to grow. > > Serverless will only reach its full potential and avoid fragmentation > if it is grown in an environment that Apache can offer. > > == Current Status == > > The OpenWhisk project was published as an open source project within > GitHub (https://github.com/openwhisk) under the Apache v2.0 license in > February 2016. The project consists of the “core” platform repository > (https://github.com/openwhisk/openwhisk) code along with its family of > repositories that include a “catalog” of OpenWhisk system and utility > packages. > > The project also includes repositories for: > > * JavaScript and Swift SDKs for client integration > * Docker SDK for user-created “blackbox” (Action) runtimes > * Graphical Command Line Tutorial (using NodeJS) > * Packages for popular service integrations (i.e., JIRA, Twilio, > Slack, Kafka, RSS, etc.) > > Issue tracking and project governance (milestones, epics) are also > managed through GitHub Issues and visualized through ZenHub. All > “pull” requests, once passing automated tests run by TravisCI, are > reviewed by “core” contributors with “write” privileges. IBM has also > setup private staging servers to “stress” test the platform > performance under load and over extended periods of time before being > merged into the main code branch. As part of the incubation process we > would make these staging tests public and have them be run by Apache. > > Currently, the project is not officially versioned and is considered > an “experimental beta”, but is marching towards milestone 10 that > aligns with what is considered to be a “beta” the end of October and > another milestone 11 end of November 2016 which is considered “GA” > content for the “core” platform. Again, we would very much like to > adopt an Apache community system for deciding on milestones, > constituent epics (features) along with dates a versioning plan and > communicate effectively using email lists, IRC and a project homepage > (which is currently lacking). > > In addition to the OpenWhisk core runtime, IBM and Adobe plan to > collaborate and contribute to the API Gateway component under an open > framework with the Apache community. The API Gateway Framework > component would provide essential support for a Serverless environment > including container services, platform services and traditional > runtimes and provides functionality for API security, request > validation, request routing, rate limiting, logging, caching and load > balancing. > > == Meritocracy == > > The OpenWhisk project firmly believes in meritocracy from its > inception. Issue, Feature and code submissions, to fix, improve or > optimize the platform code, tooling and documentation, as well as > contributions of new SDKs, Packages, Tutorials, etc. have all been > welcomed after successful community input, consultation and testing. > Contributions can be made by anyone as long as integration and staging > (including stress and performance) tests pass. We are looking forward > to talented individuals to progress the success of OpenWhisk and an > open Serverless ecosystem surrounding it. It would be a pleasure to > invite strong contributors to become committers in the project areas > where they have shown a consistent track record. > > == Community == > > OpenWhisk has made significant effort to build a community using all > possible media and social outlets as possible, always asking for > interested developers to join and contribute. > > The following outlets have been created to engage the public in as > many ways as we could conceive. Every single of these sources is > monitored continually via OpenWhisk code that triggers events and > messages to appropriate developer Slack channels where we seek to > respond and engage as quickly as we can. > > * Twitter: https://twitter.com/openwhisk > * Slack: https://dwopen.slack.com/messages/openwhisk/ > * StackOverflow: http://stackoverflow.com/search?q=OpenWhisk > * dwAnswers (developerWorks): > https://developer.ibm.com/answers/smartspace/open/ > * Blog site: https://developer.ibm.com/openwhisk/blogs/ > * Google group: https://groups.google.com/forum/ - !forum/openwhisk > > IBM has sought to promote OpenWhisk at every logical event worldwide > where we are able. > > Events and Meetups: > 20+ past events, 6 planned through YE 2016 (across 12 countries) > Event calendar: https://developer.ibm.com/openwhisk/events/ > Stats (GitHub): > 43+ contributors: https://github.com/orgs/openwhisk/people > Contribution Graphs: > https://github.com/openwhisk/openwhisk/graphs/contributors > Stars: > 623 (and growing ~10-20 per week on average): > https://github.com/openwhisk/openwhisk/stargazers > > == Core Developers == > > The following core developers, along with their credentials, are > proposed; each have been committers within OpenWhisk since its initial > development: > > * Stephen Fink, sjf...@us.ibm.com, original project architect > * Rodric Rabbah, rab...@us.ibm.com, project's developer who has > deepest knowledge who has been with the project since its inception. > * Markus Thommes, markus.thoem...@de.ibm.com, project build and > deployment expert for all roles and environments (Mac, Linux, etc. > either local/distributed). > * Jeremias Werner, jerew...@de.ibm.com, tooling and integration > expert. Understands all the build and runtime dependencies / external > projects OpenWhisk relies upon. > * Perry Cheng, pe...@us.ibm.com, Performance and stress testing guru. > > == Alignment == > > We have looked, from the earliest days of developing OpenWhisk, at > Apache as a model for building a strong developer community and worked > to adopt its spirit and its best practices. From the outset, we have > wished to have enough interest and momentum in order to have a robust > pool of developers in order to adopt an Apache governance model for > meritorious acknowledgement of committer and core contributors who can > bring external knowledge to further grow the project. > > We see immediate chances to leverage Apache projects such as Kafka, > Camel, MQTT, ApacheMQ, etc. Wherever there is a collector, funnel or > router of message data that can directly or indirectly generate > events, we intend to link to OpenWhisk as an even provider. These and > other projects are listed below and are just, we hope, “scratching the > surface” of integration points for Serverless enabled applications. > > In addition, we should note that we see immediate interest in > leveraging the Apache relationship with the Linux foundation to > integrate with the OpenAPI specification (f.k.a., Swagger) and seek to > standardize API gateways that follow that spec. to formalize endpoints > for services that can produce events. > > = Known Risks = > > == Orphaned products == > > OpenWhisk and its initial group of committers along with the community > currently supporting the project will continue to promote and look for > ways to engage new developers and provide linkage to other compatible > open source projects. Serverless computing has a significant future in > Cloud computing and an open source implementation of a platform, as > OpenWhisk embodies, must success to provide competition and > interoperability and provide a rich foundation for new Serverless > technologies to rely upon. > > == Inexperience with Open Source == > > OpenWhisk, as you can deduce from its name, has been an open source > project from its public debut in February 2016. As soon as a the > initial code, developed within IBM research, was viable and provided > the functionality expected of a Serverless platform, the project team > open sourced it and sought to build an open community to evolve it. > Most all current all current project team members have strong > experience developing within open source projects with meritorious > governance models. In fact, several of the current team members are > committers on other Apache projects and are excited to reach out to > and align with other project communities within Apache. > > == Homogenous Developers == > > The current list of committers includes developers from two different > companies. The current set of committers are geographically > distributed across the U.S., Europe and China. All committers are > experienced with working in a distributed environment and utilize many > messaging and collaboration tools to continually communicate with each > effectively to develop and review code regardless of location. > > Additionally, the current project members are very focused on > addressing comments, feedback and issue or feature requests as soon as > we are able. In fact, we utilize OpenWhisk itself to intelligently > notify project developers with the correct knowledge or expertise of > any public posting to any community outlets (listed above). > > == Reliance on Salaried Developers == > > All of the initial developers are currently salaried by either IBM or > Adobe. With increasing awareness and interest in Serverless > technologies, we expect this to change due to the addition of > volunteer contributors. We intend to promote and encourage > participation whenever interest is shown in the project to build a > robust community. > > == Relationships with Other Apache Products == > > Some possible project intersections or potential connections are > listed below. We hope to identify many others through the course of > incubation. > > * Kafka, http://kafka.apache.org/project, OpenWhisk has plans to use > Kafka for an intelligent “message hub” service that can channel events > to OpenWhisk triggers. > * Camel, http://camel.apache.org/message-bus.html, Any message bus > naturally carries message data that may carry events directly or be > used indirectly to derive events that developers can link to OpenWhisk > actions. > * ActiveMQ, http://activemq.apache.org/, Again, a widely used > message server, that supports MQTT and AMQP, which can provide trusted > event data to OpenWhisk. > > Some additional projects we would like to explore any connection with > include: > > * CouchDB, https://projects.apache.org/project.html?couchdb: > OpenWhisk already supports use of CouchDB for its own storage needs > (Actions, Bindings, etc.); however, there may be more integrations > possible as we develop a package manifest to describe OpenWhisk > entities reposited in document stores as pseudo-catalogs. > * Mesos, https://projects.apache.org/project.html?mesos: in effect, > OpenWhisk also manages a “pool of nodes” that can run various Actions > (functions). It would be interesting to see if any overlap or sharing > of node resources could be achieved. > * Spark, https://projects.apache.org/project.html?spark : As with > Mesos, OpenWhisk nodes could be leveraged to perform distributed > data-processing with Spark. > > and many others that we hope the community will help identify and > prioritize for development work. > > == An Excessive Fascination with the Apache Brand == > > The developers of OpenWhisk share a high appreciation of the Apache > Software Foundation, and many have been active as users, contributors > or committers to other Apache projects. > > The main expectation for the developers is not the Apache brand, but > the project governance and best practices established by the ASF, > access to the Apache community and support and mentorship through > senior Apache members. > > == Documentation == > > OpenWhisk offers a comprehensive set of documentation (primarily in > Markdown) for all parts of the project from installation and > deployment (locally, remotely, distributed) on various platforms in > order to get developers “up and running” as quickly as possible on > multiple platforms (Mac, Windows, Ubuntu). In addition, OpenWhisk goes > to great links to document its architecture and programming model and > provide guided tutorials for the CLI. All SDKs and Packages that can > be installed, besides installation and use cases descriptions, often > include videos and blogs. OpenWhisk is dedicated to providing the best > documentation possible and even has volunteers’ submissions for > translations in some areas. > > == Initial Source == > > The project is comprised of multiple repositories all under the > primary openwhisk name. All initial source that would be moved under > Apache control can be found in GitHub (by repository) here: > > * Primary Repositories: > https://github.com/openwhisk/openwhisk > primary source code repository including run books, tests. > https://github.com/openwhisk/openwhisk-catalog > Catalog of built-in system, utility, test and sample > Actions, Feeds and provider integration services and catalog packaging > tooling. > * Client (SDK) repos.: > https://github.com/openwhisk/openwhisk-client-js > JavaScript (JS) client library for the OpenWhisk platform. > https://github.com/openwhisk/openwhisk-client-swift > Swift-based client SDK for OpenWhisk compatible with Swift > 2.x and runs on iOS 9, WatchOS 2, and Darwin. > https://github.com/openwhisk/openwhisk-podspecs > CocoaPods Podspecs repo for ‘openwhisk-client-swift’. > https://github.com/openwhisk/openwhisk-sdk-docker > This is an SDK that shows how to create “Black box” Docker > containers that can run Action (code). > * Package repos.: > https://github.com/openwhisk/openwhisk-package-pushnotifications > In-progress, Push notifications to registered devices. > https://github.com/openwhisk/openwhisk-package-twilio > In-progress, Integration with Twilio. > https://github.com/openwhisk/openwhisk-package-jira > In-progress, Integration with JIRA events. > https://github.com/openwhisk/openwhisk-package-rss > Integration with RSS feeds. > https://github.com/openwhisk/openwhisk-package-kafka > New, In-progress, Integration with Kafka > https://github.com/openwhisk/openwhisk-slackbot-poc > In-progress, deploy a Slackbot with the capability to run > OpenWhisk actions > * Ecosystem repos.: > https://github.com/openwhisk/openwhisk-tutorial > Place to submit interactive tutorials for OpenWhisk, its > CLI and packages. Currently, contains Javascript-based tutorial for > learning the OpenWhisk CLI. > https://github.com/openwhisk/openwhisk-vscode > This is a prototype extension for Visual Studio Code that > enables complete round trip cycles for authoring OpenWhisk actions > inside the editor. > * API Gateway Framework repositories: > > There are existing discussions between IBM and Adobe about > creating a comprehensive API Gateway Framework that can support > community contributions. We plan to move these discussions into the > Apache community and invite participation in shaping this framework to > ensure the best possible solution for Serverless. At this time, the > existing Adobe API Gateway provides a valuable set of modularized > components that will be part of this framework and the initial > submission: > > https://github.com/adobe-apiplatform/apigateway > The main API Gateway repository containing basic > configuration files and a Dockerfile to build all modules into a > single container. > > Under this repository, you will find complete and conformant > code modules for the following functions: > * Request Validation (e.g., OAuth, API-KEY) and tracking, > * Configuration syncing with multiple Cloud storage solutions, > * API Request Caching and Mgmt., > * Asynchronous logging (API traffic), > * ZeroMQ adapter with logger, > * NGINX extensions (i.e., AWS SDK) > * HMAC support for Lua (multiple algorithms, via OpenSSL) > > During the incubation, this code will likely be restructured > to accommodate additional code from other sources as agreed to by > Apache and the PPMC. > > = Source and Intellectual Property Submission Plan = > > == External Dependencies == > > The OpenWhisk project code, documentation, samples (for all > repositories) have been fully authored under the Apache 2 license with > a comprehensive CLA requirements enforced for all committers from its > inception. The code has been fully screened and evaluated to assure > its code consists of original contributions not encumbered by any > license that would be incompatible with Apache. > > openwhisk-openwhisk > > This repository is the primary repository for the OpenWhisk platform; > it contains the implementations for all its component services, CLI > and tooling. > > * tooling and runtime dependencies: > Note: all dependencies are to latest version unless noted otherwise. > > * Build and Deployment Tooling: > ansiblev2.* : GNU GPL > Primary Runbook (playbooks) tooling for deployment with > configurations for multiple target environments (ppa:ansible/ansible). > Installed by ansible.sh. > git : GPL 2 > Command line for automation of “pulling” OpenWhisk > repositories’ code from Git repos. Installed by misc.sh. > zip : Info-ZIP (BSD style) > Tooling for decompressing files packaged in compressed ZIP > format. Installed by misc.sh. > python-pip : MIT > Python installer. Installed by pip.sh > jsonschema : MIT > Python Library. JSON schema validation. Installed by pip.sh > argcomplete : Apache > Python Library. Bash tab completion for ‘argparse’. > Installed by pip.sh > oracle-java8-installer : Oracle Binary Code > Oracle Java 8 Installer (Ubuntu PPA archive), Installed by > java8.sh > software-properties-common : GNU GPL v2 > Manage your own PPAs for use with Ubuntu APT. Installed by > ansible.sh > gradle 3.0: Apache 2 > Build tool. > gradle-wrapper.jar : Apache 2 > Gradle wrapper tool. Installed by gradle-wrapper.properties > One-JAR : One-JAR license (BSD-style) > package a Java application together with its dependency > Jars into a single executable Jar file. Used by > core/javaAction/proxy/build.gradle > npm : Artistic License 2.0 > Node Package Manager (NPM), core/nodejs6Action/Dockerfile > Application Services: > docker-engine, v1.9, moving to v1.12 : Apache 2 > Runtime for Docker containers. Installed by docker.sh. > docker-py v1.9, Apache 2 > Python API client. Installed by ansible.sh. > ntp : NTP (BSD 3-clause) > Network Time Protocol service started to sync. > peer-computer times. Note: UTC is default for all hosts. Installed > by misc.sh. > CouchDB : Apache 2 > JSON document database. Vagrant / User installed. > Consul v0.5.2 : Mozilla v2 > Consul Key-value data store. Installed by > services/consul/Dockerfile. > * Runtime Libraries: > Scala v2.11 : Scala (3-clause BSD) > Primary language for OpenWhisk. Specifically: > org.scala-lang:scala-library, 2.11.6. Installed by scala.sh, > (referenced by build.gradle). > Node v0.12.14: MIT > Node JavaScript Runtime. It also includes many NPM > libraries. See core/nodejsAction/Dockerfile for a complete/current > list. > Node v6.2: MIT > The NodeJS6 Runtime. It also includes many NPM libraries. > See core/nodejs6Action/Dockerfile for a complete/current list. > Python Runtime, v2.7 (Python Std. Library) : Python > Python based Docker Images are used in a few places. For > example, see core/ActionProxy/Dockerfile. In addition, it is > referenced by the Python CLI which is being deprecated as it is being > replaced by a Go language CLI. > Java 8 JRE : Oracle > Java Language Runtime (Oracle Java 8 JDK). Referenced by > common/scala/Dockerfile, core/javaAction/Dockerfile, > services/consul/.classpath. > Akka 2.47 Libraries for Scala 2.11 : Apache 2 > Specifically, the following: “com.typesafe.akka:” modules > are used: akka-actor, akka-slf4j, akka-http-core, > akka-http-spray-json-experimental. Installed by build.gradle. > argcomplete : Apache > Python library. Bash tab completion for argparse. > Installed by tools/ubuntu-setup/pip.sh. > httplib : Python > Python library. HTTP protocol client. Installed by . > jsonschema : MIT > Python library. Installed by tools/ubuntu-setup/pip.sh. > spray (source) : Apache 2 > Scala libraries for building/consuming RESTful web > services on top of Akka. Installed by build.gradle. Specifically but > not limited to: spray-caching, spray-json, spray-can, spray-client, > spray-httpx, spray-io, spray-routing. > log4j:log4j:1.2.16 > Java logging library. Installed by build.gradle. > org.apache.* Libraries : Apache 2 > Including: org.apache.commons.*. > org.apache.zookeeper:zookeeper, org.apache.kafka:kafka-clients, > org.apache.httpcomponents:httpclient. See build.gradle for current > list and versions. > Including low level HTTP transport component libraries: > org.apache.http.*, org.apache.httpcomponents: > httpclient, . See whisk/common for current list and versions. > org.apache.jute.compiler.JString > urlparse : Python > Python library for URL string parsing. Referenced by > tools/cli/wskutil.py > tools/build/citool. > swagger-ui 2.1.4 : Apache 2 * atypical license text > Collection of HTML, Javascript, and CSS assets that > dynamically generate documentation from a Swagger-compliant API. See > core/controller/Dockerfile. > Optional Services and Tooling: > Cloudant : Apache 2 > (Optional) Database service. User may connect to instance > from README. CouchDB can be used otherwise. > Eclipse IDE : Eclipse Public License (EPL) > Tooling, IDE. (Optional). OpenWhisk supplies a .project > and .pydevproject files for the Eclipse IDE. > emacs : Emacs GPL > Tooling, Editor. (Optional) Installs Emacs editor. > Installed by emacs.sh. > * Swift3 Runtime Dependencies: > The following Python libraries are installed in the > core/swift3Action/Dockerfile: > Python 2.7 : Python > Python Std. Library. > python-gevent : MIT > Python proxy support. > python-distribute : PSF (or ZPL) > Supports the download, build, install, upgrade, uninstall > of Python packages. See: http://pythonhosted.org/distribute. Note: > this is a fork of: https://github.com/pypa/setuptools. > python-pip : MIT > PyPA recommended tool for installing Python packages. > python-flask : BSD > Python proxy support. > clang : NCSA Open Source > 'C' Library. Apple compiler front-end for ‘C’ (LLVM back-end). > libedit-dev : BSD (3-clause) > Linux, BSD editline and hostry library. > libxml2-dev : MIT > Linux, Gnome XML library. > libicu52 : Unicode > Linux, Unicode support library. > Kitura : Apache 2 > Web framework and web server that is created for web > services written in Swift. > Kitura dependencies : BSD (BSD-like) > Linux libraries including: autoconf, libtool, > libkqueue-dev, libkqueue0, libdispatch-dev, libdispatch0, > libcurl4-openssl-dev, libbsd-dev. > apple/swift-corelibs-libdispatch : Apache 2 > Enables Swift code execution on multicore hardware. > > Adobe-API-Platform > > Openresty - Licensed under the 2-clause BSD license - > https://github.com/openresty/ngx_openresty#copyright--license > NGINX License - http://nginx.org/LICENSE > Luajit - MIT License - http://luajit.org/luajit.html > PCRE - BSD license - http://www.pcre.org/licence.txt > NAXSI: GPL - is not compiled with the Gateway API code. > Instead The API Gateway project contains instructions for developers > on where to get NAXSI code (under GPL) > ZeroMQ / ØMQ - Linked Dynamically in separate module > libzmq - LGPL license with SPECIAL EXCEPTION GRANTED BY > COPYRIGHT HOLDERS - https://github.com/zeromq/libzmq > czmq - High Level C binding for libzmq - MPL v2 license > https://github.com/zeromq/czmq > > > == Trademarks == > > IBM is pursuing trademarking of the OpenWhisk name in the following > jurisdictions: Canada, France, WIPO (i.e., Australia, China, CTM > (EUIPO), India, Mexico, Russian Federation, Switzerland, United States > of America). IBM plans to transfer all filings and trademark ownership > to ASF. > > == Cryptography == > > Please note that the file > https://github.com/openwhisk/openwhisk/blob/master/common/ > scala/src/main/scala/whisk/common/Crypt.scala > makes use of the Java javax.crypto.* libraries to implement > encrypt/decrypt functions. Primarily this is used to encrypt/decrypt > user keys or secrets when being passed or stored between or by > OpenWhisk components. > > In addition, the API Gateway modules (api-gateway-hmac) relies on > OpenSSL (openssl/evp.h, openssl/hmac.h). > > == Required Resources == > > Resources that infrastructure will be asked to supply for this project. > > Over the course of the incubator we would like to develop staging and > playground server environments for testing and developer experience. > The following environment would be desirable for an initial staging > (and separate playground): > > * CI Test Cluster requirements: > 3 VMs, Catalog (CouchDB/Cloudant), Router (Nginx), Registry > 2 VMs, Master (Controller + Consul), Message Bus (Kafka) > 10 VMs, Invokers > Each VM assumes 4 CPUs, 8GB Memory, 80GB additional storage > * Mechanics: > Scripts that invoke Ansible playbooks for build, deploy (run) > and clean are provided. > The various architectural components are started via Docker > containers (either natively, within a single Vagrant VM, or across > multiple, designated VM roles) using user configured (or defaulted) > endpoints and (guest) authorization credentials. > In addition, the user/developer may choose to use the default > ephemeral CouchDB (via Docker container) for the OpenWhisk catalog or > switch to use a native CouchDB or a remote Cloudant database. > > In addition, we would like to host a VM with a Node.js server that > provides Command Line Tutorials, along with demo samples. > > == Mailing lists == > > Initially, we would start with the following recommended initial > podling mailing lists: > > priv...@openwhisk.incubator.apache.org, > dev@{podling}.incubator.apache.org > > We would add more as we transition off exiting mailings lists and > through the course of incubation. > > == Git Repository == > > As a community we would like to keep the master repository as well as > issue tracking on GitHub. We will be working closely with ASF Infra. > team to implement all the required pieces like ensure to send push and > issue notifications through ASF controlled mailing lists. During > incubation we will work closely with Infra to support GitHub master > repositories. We also understand that we have to support a way of > providing patches, which does not require a GitHub account for > contributors who are not willing or not able abide by GitHub’s terms > and conditions. It is our understanding that this approach has been > signed off by Greg Stein, ASF’s Infrastructure Administrator. > gstein sez: the podling can only graduate within an approved > repository system. The IPMC may have a differing opinion, but from an > Infra perspective: the OpenWhisk podling can continue with their usage > of a GitHub repository, but faces a clear obstacle: GitHub "as master > [as allowed by the Foundation]" must be approved and working before > the graduation, or they must migrate their primary to the Foundation's > Git repository (at git-wip) before they graduate. > > If we need to adapt our repo. paths to conform to Apache guidelines > (and perhaps necessitated by a move the the Apache named repo.) It is > conventional to use all lower case, dash-separated (-) repository > names. The repository should be prefixed with incubator and later > renamed assuming the project is promoted to a TLP. > > If we need to move the project codebase from its existing GitHub repo. > as part of incubation, we would like to preserve the directory names > as they appear today and adopt the “apache” as part of the URI path as > we have seen other projects adopt. > > This would mean all existing repositories which are now of the form: > > * https://github.com/openwhisk/openwhisk > * https://github.com/openwhisk/openwhisk-catalog > * https://githun.com/openwhisk/openwhisk-package-rss > * etc. > > would now take the form: > > * https://github.com/apache/openwhisk/openwhisk > * https://github.com/apache/openwhisk/openwhisk-catalog > * https://githun.com/apache/openwhisk/openwhisk-package-rss > * and so on ... > > == Issue Tracking == > > We would like to explore the possibility of continuing to use GitHub > issue tracking (as project milestones, epics and features are all > nicely tracked via ZenHub boards) as we understand that this may now > be possible. We will provide any linkage or support for JIRA issue > tracking if that is required in order to track any “pull” requests > within GitHub. > > == Other Resources == > > We would like to preserve our existing automated TravisCI automated > testing from GitHub. The project uses a continuous CD/CI process > currently that we would like to continue to support via multiple > stages that run progressive stress and performance tests that are also > automated. > > == Initial Committers == > > The following is the proposed list of initial committers, email > address [, GitHub ID)]: > > * Bertrand Delacretaz, bdelacre...@apache.org, bdelacretaz > * Carlos Santana, csant...@us.ibm.com, csantanapr > * Carsten Ziegeler, cziege...@apache.org, cziegeler > * Chetan Mehrotra, chet...@adobe.com, chetanmeh > * Christian Bickel, cbic...@de.ibm.com, christianbickel > * Daisy Guo, guoyi...@cn.ibm.com, daisy-ycguo > * David Liu, david....@cn.ibm.com, lzbj > * Dragos Dascalita Haut, ddas...@adobe.com, ddragosd > * Jeremias Werner, jerew...@de.ibm.com, jeremiaswerner > * Markus Thommes, markus.thoem...@de.ibm.com, markusthoemmes > * Matt Rutkowski, mrutk...@us.ibm.com, mrutkows > * Nicholas Speeter, nwspe...@us.ibm.com, nwspeete-ibm > * Paul Castro, cast...@us.ibm.com, paulcastro > * Perry Cheng, pe...@us.ibm.com, perryibm > * Philippe Sutor, psu...@us.ibm.com, psutor > * Rodric Rabbah, rab...@us.ibm.com, rabbah > * Sergio Fernández, wik...@apache.org, wikier > * Stephen Fink, sjf...@us.ibm.com, sjfink > * Tony Ffrench, tffre...@us.ibm.com, tonyfrench > * Vincent Hou, s...@us.ibm.com, houshengbo > * Edward J. Yoon, edward.y...@samsung.com, edwardyoon > > Although this list of initial committers appears long, OpenWhisk is a > complete platform which consists of many services supporting many > environments, programming languages and integrations. This diversity > in needs is reflected by the size of the initial committers group. > OpenWhisk also supports an end user ecosystem including CLI, Tooling, > Package Catalog, “curated” Packages, samples, etc. along with the > intention of tying in API gateway (e.g., OpenAPI) and other event > source integrations. > > We hope to add many more committers who provide expertise and the > various areas OpenWhisk uses to efficiently provide an exceptional > Serverless platform with compelling content. > > == Affiliations == > > Additional TBD during the proposal process > > == Sponsors == > > Additional TBD during the proposal process. > > == Sponsoring Entity == > > OpenWhisk would ask that the Apache Incubator be the sponsor. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > > -- Niclas Hedhman, Software Developer http://zest.apache.org - New Energy for Java