---
layout: post
status: PUBLISHED
published: true
title: The Apache Software Foundation Announces ApacheCon Europe 2012 and North America
  2013  --CFP DEADLINE FOR EUROPE EXTENDED TO 13 AUGUST!
author:
  display_name: Sally Khudairi
  login: sk
  email: sk@haloworldwide.com
author_login: sk
author_email: sk@haloworldwide.com
id: e649d09a-9eb7-486e-b714-12eac6bea680
date: '2012-08-07 02:15:20 -0400'
categories:
- General
tags:
- '2012'
- for
- '2013'
- north
- participation
- apachecon
- apache
- papers
- europe
- software
- portland
- foundation
- america
- cfp
- call
- germany
comments: []
permalink: conferences/entry/the_apache_software_foundation_announces
---
<div><b><i><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">Call For Papers now open for Open Source conference in Sinsheim, Germany</p>
<p></span></i></b> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of nearly 150 Open Source projects and initiatives, today announced ApacheCon Europe 2012 and North America 2013.</p>
<p></span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div class="yiv348317099MsoNormal" id="yui_3_2_0_1_1342500301312283" style="margin: 0in 0in 10pt;"><span id="yui_3_2_0_1_1342500301312282" style="line-height: 115%; font-family: 'Courier New'; color: black; font-size: 10pt;">The official conference, trainings and expo of the ASF returns to Europe 5-8 November 2012 at the Rhein-Neckar Arena in Sinsheim, Germany. The Call For Papers is now open through 13 August 2012. Early-bird registration will open 6 August 2012.</p>
<p></span><span style="line-height: 115%; font-family: 'Courier New'; color: black; font-size: 10pt;">Apache powers half the Internet, petabytes of data, teraflops of operations, billions of objects, and enhances the lives of countless users and developers.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">ApacheCon brings developers and users together to explore key issues in building Open Source solutions "The Apache Way". The 2012 Europe event will cover a wide range of topics, from Cloud to Big Data, from Content to Servers, Search to Store, Business and Tools. Tracks include:</p>
<p></span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- Apache Daily &ndash;-the tools, frameworks, and components used on a daily basis, such as Apache Logging, Apache Maven, Apache Ant, Apache Buildr, Apache Commons, and more.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- ApacheEE &ndash;-all about Java Enterprise projects at the ASF, including Apache OpenWebBeans, Apache OpenEJB, Apache TomEE, Apache Tomcat, Apache MyFaces, Apache DeltaSpike, Apache BVal, and Apache OpenJPA.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"><span> </span> - Big Data --the ASF projects at the forefront of high-volume&nbsp;performance, innovation,&nbsp;and analytics, such as Apache Cassandra, Apache Hadoop, Apache HBase, Apache Hive, Apache Kafka, Apache Mahout, Apache Pig, Apache Whirr, Apache ZooKeeper and friends.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- Camel in Action --common problems, solutions and b<var id="yiv348317099yui-ie-cursor"></var>est practices with Apache Camel. </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- Cloud &ndash;-many Apache initiatives play a key role in powering today's Cloud, from Apache Libcloud and Deltacloud, to Apache Whirr, Accumulo, and Cloudstack, to Apache Hadoop + friends.<br />
  <br />- Linked Data &ndash;-adopting, linking, and interoperating the Web of Data using the latest in annotating, processing, extracting, reasoning, and semantics with Apache Jena, Apache Any23 (Incubating), Apache Clerezza (Incubating), and Apache Stanbol (Incubating).</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- Lucene/Solr and Friends --the latest in search and analytics with Apache Lucene/Solr, Apache Tika, Apache ManifoldCF and more.<br />
  <br /> - Modular Java &ndash;-developing and deploying applications in public and private Cloud environments using Apache Felix, Apache ACE, Apache Karaf, Apache Aries, Apache Sling. </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- NoSQL --use cases and latest developments in dovetailing Big Data with Apache Cassandra, Apache HBase, Apache CouchDB, Apache Accumulo, and more. </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">- OpenOffice --the Apache OpenOffice ecosystem, including dedicated hackathons, MeetUps, and evening sessions, as well as use cases, and technical sessions on Writer, Calc, Impress, Math, Base, and Draw.<br />
  <br /> - Web Infrastructure --the backbone of the Web, including Apache HTTP Server, Apache Tomcat, Apache Traffic Server, and more.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </p>
<p></span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">SAP is the lead underwriter for ApacheCon Europe 2012; additional opportunities for corporate and individual sponsorship are available. </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> <br />Produced by The Open Bastion, ApacheCon North America 2013 will be held 26-28 February 2013 at the Hilton Portland &amp; Executive Tower in Portland, Oregon, United States. Pre- and post-conference events, including trainings, unconference, and sprinting activities are also planned. The Call For Participation for ApacheCon North America will open on 3 September 2012.</span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"> </span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;"><br />For more information and to submit a presentation proposal, visit <a href="http://apachecon.com/">http://apachecon.com/</a>.</p>
<p><b>About The Apache Software Foundation (ASF)</b></span> </div>
<div><span style="font-family: 'Courier New'; color: black; font-size: 10pt;">Established in 1999, the all-volunteer Foundation oversees nearly one hundred fifty leading Open Source projects, including Apache HTTP Server -- the world's most popular Web server software. Through the ASF's meritocratic process known as "The Apache Way," more than 400 individual Members and 3,500Committers successfully collaborate to develop freely available enterprise-grade software, benefiting millions of users worldwide: thousands of software solutions are distributed under the Apache License; and the community actively participates in ASF mailing lists, mentoring initiatives, and ApacheCon, the Foundation's official user conference, trainings, and expo. The ASF is a US 501(3)(c) not-for-profit charity, funded by individual donations and corporate sponsors including AMD, Basis Technology, Citrix, Cloudera, Facebook, GoDaddy, Google, IBM, HP, Hortonworks, Huawei, Matt Mullenweg, Microsoft, PSW Group, SpringSource, and Yahoo!. For more information, visit <a target="_blank" rel="nofollow" href="http://www.apache.org/"><u><font color="#0066cc">http://www.apache.org/</font></u></a>.</p>
<p><span style="line-height: 115%; font-family: 'Courier New'; color: black; font-size: 10pt;">"Apache", "ACE", "Apache ACE", "Accumulo", "Apache Accumulo", "Ant", "Apache Ant", "Any23", "Apache Any23", "Aries", "Apache Aries", "Buildr", "Apache Buildr", "BVal","Apache BVal", "Camel", "Apache Camel", "Cassandra", "Apache Cassandra", "Clerezza", "Apache Clerezza&rdquo;, "Cloudstack", "Apache Cloudstack", "Commons", "Apache Commons", "CouchDB", "Apache CouchDB", "Deltacloud", "Apache Deltacloud", "Felix", "Apache Felix", "Hadoop", "Apache Hadoop", "HBase", "Apache HBase", "Hive", "Apache Hive", "Apache HTTP Web Server", "Jena", "Apache Jena", "Kafka", "Apache Kafka", "Karaf", "Apache Karaf", "Libcloud", "Apache Libcloud", "Logging", "Apache Logging", "Lucene", "Apache Lucene", "Maven", "Apache Maven", "Mahout", "Apache Mahout", "ManifoldCF", "Apache ManifoldCF", "MyFaces", "Apache MyFaces", "OpenEJB", "Apache OpenEJB", "OpenOffice.org", "Apache OpenOffice", "OpenWebBeans", "Apache OpenWebBeans", "Pig", "Apache Pig", "Sling", "Apache Sling", "Solr", "Apache Solr", "Stanbol", "Apache Stanbol", "Tika", "Apache Tika", "Tomcat", "Apache Tomcat", "TomEE", "Apache TomEE", "</span><span style="line-height: 115%; font-family: sans-serif; font-size: 11pt;"> </span><span style="line-height: 115%; font-family: 'Courier New'; color: black; font-size: 10pt;">Traffic Server", "Whirr", "Apache Whirr", "Zookeeper", "Apache Zookeeper", and "ApacheCon" are trademarks of The Apache Software Foundation. All other brands and trademarks are the property of their respective owners.</span></span> </div>
<div> </div>
<div># # #
</div>
