<html>
<head>
<link href="index.css" rel="stylesheet" type="text/css">
<style type="text/css">@font-face { font-family: "ibm-plex-sans"; src: url("https://1.www.s81c.com/common/fonts/plex/v1/ibmplexsans-regular.woff2") format("woff2"), url("https://1.www.s81c.com/common/fonts/plex/v1/ibmplexsans-regular.woff") format("woff"); font-weight: 400; font-style: normal; }#teconsent { position: fixed; display: block; height: 40px; background-color: #ffffff; z-index: 999; bottom: 0; right: 0; margin: 0; padding: 0 16px; line-height: 40px; vertical-align: middle } #teconsent a { font-family: ibm-plex-sans; font-size: 12pt; color: #3d3d3d; text-decoration: none }</style>
<link rel="shortcut icon" href="favicon.png" type="image/png">
<meta name="description" content="Eclipse Codewind">
<meta name="keywords" content="Codewind, docker, container, devops, applications, development, iteration, microservices, cloud, services, rapid, integrated"/>
<title>Eclipse Codewind</title>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-112407000-2');
</script>

</head>
<body>
    <header id="header-container">
        <div id="header-logo">
            <img class="logo" src="logo.png"/>
        </div>
    </header>
    <div id="header-content">

    <h2>Under Construction:</h2>
    <p>We are in the processing of unpacking our bags and making Eclipse our new home. Expect a more detailed project page to follow soon. Additional details can be found at our Eclipse Project Management Infrastructure page: <a href="https://projects.eclipse.org/projects/ecd.codewind" target="_blank">https://projects.eclipse.org/projects/ecd.codewind</a> </p>

    <h2>Background:</h2> 
    <p>Traditionally, applications have been created on the developer's desktop, debugged locally, and then built and deployed through an automated devops pipeline. There are often numerous differences between these environments, including operating system, runtime or package versions, and environment.</p>
    <p>The advent of Docker allowed the runtime to be packaged and moved between environments with repeatability, and Kubernetes has emerged as the deployment and management system of choice for large-scale Docker deployments. However, development is still usually done on a local environment without using these technologies and taking advatage of this new deployment platform.</p>
    <p>Likewise, the Eclipse Foundation hosts both a classic desktop IDE (Eclipse platform) and a cloud-hosted IDE on Kubernetes (Eclipse Che), but no tools that help develop, debug, or deploy applications for Kubernetes, nor consistency in creating cloud-native applications regardless of your IDE.</p>


    <h2>Scope:</h2>
    <p>The goal of Eclipse Codewind is to provide tools to help building high-quality cloud-native applications for Kubernetes, regardless of which IDE or language you use. This includes the capability to rapidly create an application from template or sample, support for launching, updating, testing, and debugging in Docker containers on the desktop, and support for the same directly on Kubernetes regardless of where the source is. The tools will also provide help to move an existing application to Docker and Kuberenetes, and validation to ensure that applications follow best practises.</p>
    
    <p>To support this, Codewind will include plugins to the Eclipse platform and Eclipse Che, and a VisualStudio Code extension. A common library will be used by all of these tools to provide the function (e.g. creating, testing, and deploying applications) in a consistent way across the IDEs.</p>
    
    <h2>Description:</h2>
    Eclipse Codewind will start by providing an IDE-agnostic library for tools required for cloud application development:
    <ul>
    <li>Generating projects from templates </li>
    <li>Creating a template or example from a current project</li>
    <li>On the desktop: starting projects in Docker</li>
    <li>Deploying applications to Kubernetes</li>
    <li>Incremental update of applications running in Docker or Kubernetes</li>
    <li>Debug and other support for these deployed projects</li>
    <li>Application performance testing tools</li>
    <li>Codewind will also provide Eclipse platform and Eclipse Che plugins, and a VisualStudio extension (and possibly others in the future) to allow users of these popular IDEs to create and deploy cloud-native applications in a consistent way from directly within their IDE.</li>
    </ul>
    
    <h2>Why Here?: </h2>
    The Eclipse Foundation has a strong history and community around building vendor-agnostic developer tools. Eclipse also hosts two of the main IDEs which we plan to extend, making it a natural fit for Codewind.
    
    <h2>Licenses: </h2>
    <a href="https://projects.eclipse.org/license/epl-2.0" target="_blank">Eclipse Public License 2.0</a>

    <h2>Legal Issues: </h2>
    The initial contribution that will form the basis for Codewind will come from the IBM Microclimate project (http://microclimate.dev). The Eclipse platform and VisualStudio Code plugins are already open source and licensed under EPL 2. The common library that these depend on is not open source yet, but it has been legally cleared recently and will be fully donated by IBM under EPL 2. We do not expect any legal issues bringing it to Eclipse.
    
    <h2>Project Scheduling: </h2>
    <p>Tech preview & beta: 3Q2019</p>
    
    <p>First release: 4Q2019</p>
    
    <h2>Future Work: </h2>
    Although the major peices will be in place after the initial contribution, we do not expect Codewind to be 'complete' at this point. Some of the main areas that need to be investigated:
    
    <ul>
    <li>Improving incremental development support for more languages</li>
    <li>Support in other IDEs or development tools</li>
    <li>Tools for helping with automated testing, and other aspects of app development that may change in cloud</li>
    <li>Adoption of a vendor-neutral Kubernetes dev CLI</li>
    <li>IBM will continue to invest in evolving Codewind and addressing these concerns, but welcomes additional participation in these areas or others.</li>
    </ul>

    </div>

</body>
</html>