
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-10-09
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Mailing Lists and User Forums | Maven</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/spacelab/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />


		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



	</head>

	<body class="page-community-mailinglists project-flex-site" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="index.html" title="Home">Home</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About Flex <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="about-whatis.html" title="What is Flex?">What is Flex?</a></li>
									<li ><a href="about-features.html" title="Features">Features</a></li>
									<li ><a href=".html" title="Tour de Flex">Tour de Flex</a></li>
									<li ><a href="about-licensing.html" title="License & Trademarks">License & Trademarks</a></li>
									<li ><a href="about-people.html" title="The Team">The Team</a></li>
									<li ><a href="about-history.html" title="Project History">Project History</a></li>
									<li ><a href="about-assets.html" title="Logo and Assets">Logo and Assets</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="community-getinvolved.html" title="How to get involved">How to get involved</a></li>
									<li class="active"><a href="" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="community-showcase.html" title="Flex Showcase">Flex Showcase</a></li>
									<li ><a href="community-3rdparty.html" title="Third-Party">Third-Party</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+Wiki" title="Wiki" class="externalLink">Wiki</a></li>
									<li ><a href="http://blogs.apache.org/flex/" title="Blog" class="externalLink">Blog</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="dev-faq.html" title="Developer FAQ">Developer FAQ</a></li>
									<li ><a href="dev-sourcecode.html" title="Source Code">Source Code</a></li>
									<li ><a href="https://issues.apache.org/jira/browse/FLEX" title="Bug-Tracker" class="externalLink">Bug-Tracker</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="doc-getstarted.html" title="Getting Started">Getting Started</a></li>
									<li ><a href="doc-videos.html" title="Videos">Videos</a></li>
									<li ><a href=".html" title="Flex ASDocs">Flex ASDocs</a></li>
									<li ><a href=".html" title="FlexJS ASDocs">FlexJS ASDocs</a></li>
									<li ><a href="http://help.adobe.com/en_US/flex/using/index.html" title="Documentation Reference (Old)" class="externalLink">Documentation Reference (Old)</a></li>
									<li ><a href=".html" title="FlexUnit Tutorials">FlexUnit Tutorials</a></li>
									<li ><a href=".html" title="FlexUnit ASDocs">FlexUnit ASDocs</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://www.apache.org" title="The Apache Software Foundation Website" class="externalLink">The Apache Software Foundation Website</a></li>
									<li ><a href="http://www.apache.org/foundation/contributing.html" title="Donations" class="externalLink">Donations</a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" class="externalLink">Thanks</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Download Flex <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href=".html" title="SDK Installer (For Application Developers)">SDK Installer (For Application Developers)</a></li>
									<li ><a href=".html" title="SDK Source Code (For SDK Developers)">SDK Source Code (For SDK Developers)</a></li>
									<li ><a href=".html" title="SDK Binaries (For SDK Developers)">SDK Binaries (For SDK Developers)</a></li>
									<li ><a href=".html" title="FlexJS 'beta' (For Application Developers)">FlexJS 'beta' (For Application Developers)</a></li>
									<li ><a href=".html" title="FlexUnit (For Application Developers)">FlexUnit (For Application Developers)</a></li>
									<li ><a href=".html" title="Blaze DS Source Code">Blaze DS Source Code</a></li>
									<li ><a href=".html" title="Tour De Flex Source Code">Tour De Flex Source Code</a></li>
									<li ><a href=".html" title="Squiggly Spell Checker">Squiggly Spell Checker</a></li>
									<li ><a href=".html" title="Flex Utilities">Flex Utilities</a></li>
									<li ><a href=".html" title="Previous Versions">Previous Versions</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="http://flex.apache.org/" id="bannerLeft"><img src="http://flex.apache.org/images/logo_01_fullcolor-sm.png" alt='"'Apache Flex'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://www.apache.org" id="bannerRight"><img src="http://www.apache.org/images/feather-small.gif" alt='"'An Apache Project'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="projectVersion version-date">Version: 0.8.0-SNAPSHOT</li>
				<li class="divider">|</li>
				<li class="publishDate version-date">Last Published: 2016-10-09</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at
 
 http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License. --> 
<div class="page-header">
 <h1>Mailing Lists and User Forums</h1>
</div> 
<p>We welcome you to join our mailing lists and user forums and let us know about your thoughts or ideas about Apache Flex.</p> 
<div class="section"> 
 <h2 id="Participation_Guidelines">Participation Guidelines</h2> 
 <p>We ask all mailing list and forum participants to observe <a class="externalLink" href="http://www.apache.org/dev/contrib-email-tips.html">these guidelines</a>.</p> 
</div> 
<div class="section"> 
 <h2 id="Users_Mailing_List">Users Mailing List</h2> 
 <p>This is where community users can get together and discuss Flex, how they use it. It is also used for helping each other with using the SDK. All discussions on this list are unofficial discussions. Use this list to get help from fellow Flex developers, to discuss how you use Flex, etc…</p> 
 <p><b>Note:</b> This list does not replace current sources for community support on Adobe Flex. Please continue to use those sources for versions of Flex prior to 4.8.0 . This list is strictly for current versions of Apache Flex.</p> 
 <ul> 
  <li>Subscribe: <a class="externalLink" href="mailto:users-subscribe@flex.apache.org">users-subscribe@flex.apache.org</a></li> 
  <li>Post (after subscription): <a class="externalLink" href="mailto:users@flex.apache.org">users@flex.apache.org</a></li> 
  <li>Unsubscribe: <a class="externalLink" href="mailto:users-unsubscribe@flex.apache.org">users-unsubscribe@flex.apache.org</a></li> 
  <li>Subscribe to digest: <a class="externalLink" href="mailto:users-digest-subscribe@flex.apache.org">users-digest-subscribe@flex.apache.org</a></li> 
  <li>Unsubscribe to digest: <a class="externalLink" href="mailto:users-digest-unsubscribe@flex.apache.org">users-digest-unsubscribe@flex.apache.org</a></li> 
  <li>List Archives: 
   <ul> 
    <li><a class="externalLink" href="http://markmail.org/search/+list:org.apache.incubator.flex-users">Markmail</a></li> 
    <li>Apache: <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/incubator-flex-users/">Old</a> - <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/flex-users/">New</a></li> 
   </ul></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Users_Forum">Users Forum</h2> 
 <p>The Flex users forum is a mirror of the Flex users mailing list. All posts to the forum are mailed to the mailing list, and all messages sent to the mailing list are posted on the forum.</p> 
 <ul> 
  <li><a class="externalLink" href="http://s.apache.org/flex-users-forum">Users Forum</a></li> 
  <li><a class="externalLink" href="http://apache-flex-users.2333346.n4.nabble.com/template/NamlServlet.jtp?macro=start_registration_page&amp;nextUrl=http%3A%2F%2Fapache-flex-users.2333346.n4.nabble.com%2F">Register</a></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Development_Mailing_List">Development Mailing List</h2> 
 <p>This mailing list is geared towards users working on the SDK or related utilities. Everybody is welcome but the discussion is of a high-level. If you want to ask the developers questions about the bugs, features, etc., this is the mailing list to do so. This is where the project community hangs out. This list is used to coordinate activities and ensure we are all pulling in the same direction. This is a high traffic list.</p> 
 <ul> 
  <li>Subscribe: <a class="externalLink" href="mailto:dev-subscribe@flex.apache.org">dev-subscribe@flex.apache.org</a></li> 
  <li>Post (after subscription): <a class="externalLink" href="mailto:dev@flex.apache.org">dev@flex.apache.org</a></li> 
  <li>Unsubscribe: <a class="externalLink" href="mailto:dev-unsubscribe@flex.apache.org">dev-unsubscribe@flex.apache.org</a></li> 
  <li>Subscribe to digest: <a class="externalLink" href="mailto:dev-digest-subscribe@flex.apache.org">dev-digest-subscribe@flex.apache.org</a></li> 
  <li>Unsubscribe to digest: <a class="externalLink" href="mailto:dev-digest-unsubscribe@flex.apache.org">dev-digest-unsubscribe@flex.apache.org</a></li> 
  <li>List Archives: 
   <ul> 
    <li><a class="externalLink" href="http://markmail.org/search/+list:org.apache.incubator.flex-dev">Markmail</a></li> 
    <li>Apache: <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/incubator-flex-dev/">Old</a> - <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/flex-dev/">New</a></li> 
   </ul></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Development_Forum">Development Forum</h2> 
 <p>The Flex development forum is a mirror of the Flex development mailing list. All posts to the forum are mailed to the mailing list, and all messages sent to the mailing list are posted on the forum.</p> 
 <ul> 
  <li><a class="externalLink" href="http://s.apache.org/flex-dev-forum">Development Forum</a></li> 
  <li><a class="externalLink" href="http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=start_registration_page&amp;nextUrl=http%3A%2F%2Fapache-flex-development.2333347.n4.nabble.com%2F">Register</a></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Commits_Mailing_List">Commits Mailing List</h2> 
 <p>This is where the community receives automated notifications of any changes to the code and documentation.</p> 
 <ul> 
  <li>Subscribe: <a class="externalLink" href="mailto:commits-subscribe@flex.apache.org">commits-subscribe@flex.apache.org</a></li> 
  <li>Unsubscribe: <a class="externalLink" href="mailto:commits-unsubscribe@flex.apache.org">commits-unsubscribe@flex.apache.org</a></li> 
  <li>Subscribe to digest: <a class="externalLink" href="mailto:commits-digest-subscribe@flex.apache.org">commits-digest-subscribe@flex.apache.org</a></li> 
  <li>Unsubscribe to digest: <a class="externalLink" href="mailto:commits-digest-unsubscribe@flex.apache.org">commits-digest-unsubscribe@flex.apache.org</a></li> 
  <li>List Archives: 
   <ul> 
    <li><a class="externalLink" href="http://markmail.org/search/+list:org.apache.incubator.flex-commits">Markmail</a></li> 
    <li>Apache: <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/incubator-flex-commits/">Old</a> - <a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/flex-commits/">New</a></li> 
   </ul></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Issue_Mailing_List">Issue Mailing List</h2> 
 <p>This is where JIRA posts issues and bug reports about Apache Flex.</p> 
 <ul> 
  <li>Subscribe: <a class="externalLink" href="mailto:issues-subscribe@flex.apache.org">issues-subscribe@flex.apache.org</a></li> 
  <li>Post (after subscription): <a class="externalLink" href="mailto:issues@flex.apache.org">issues@flex.apache.org</a></li> 
  <li>Unsubscribe: <a class="externalLink" href="mailto:issues-unsubscribe@flex.apache.org">issues-unsubscribe@flex.apache.org</a></li> 
  <li>Subscribe to digest: <a class="externalLink" href="mailto:issues-digest-subscribe@flex.apache.org">issues-digest-subscribe@flex.apache.org</a></li> 
  <li>Unsubscribe to digest: <a class="externalLink" href="mailto:issues-digest-unsubscribe@flex.apache.org">issues-digest-unsubscribe@flex.apache.org</a></li> 
  <li>List Archives: 
   <ul> 
    <li><a class="externalLink" href="http://markmail.org/search/+list:org.apache.flex-issues">Markmail</a></li> 
    <li><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/flex-issues/">Apache</a></li> 
   </ul></li> 
 </ul> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span9 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About Flex</li>
						<li >
							<a href="about-whatis.html" title="What is Flex?">What is Flex?</a>
						</li>
						<li >
							<a href="about-features.html" title="Features">Features</a>
						</li>
						<li >
							<a href=".html" title="Tour de Flex">Tour de Flex</a>
						</li>
						<li >
							<a href="about-licensing.html" title="License & Trademarks">License & Trademarks</a>
						</li>
						<li >
							<a href="about-people.html" title="The Team">The Team</a>
						</li>
						<li >
							<a href="about-history.html" title="Project History">Project History</a>
						</li>
						<li >
							<a href="about-assets.html" title="Logo and Assets">Logo and Assets</a>
						</li>
						<li class="nav-header">Community</li>
						<li >
							<a href="community-getinvolved.html" title="How to get involved">How to get involved</a>
						</li>
						<li class="active">
							<a href="#" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="community-showcase.html" title="Flex Showcase">Flex Showcase</a>
						</li>
						<li >
							<a href="community-3rdparty.html" title="Third-Party">Third-Party</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+Wiki" title="Wiki" class="externalLink">Wiki</a>
						</li>
						<li >
							<a href="http://blogs.apache.org/flex/" title="Blog" class="externalLink">Blog</a>
						</li>
						<li class="nav-header">Development</li>
						<li >
							<a href="dev-faq.html" title="Developer FAQ">Developer FAQ</a>
						</li>
						<li >
							<a href="dev-sourcecode.html" title="Source Code">Source Code</a>
						</li>
						<li >
							<a href="https://issues.apache.org/jira/browse/FLEX" title="Bug-Tracker" class="externalLink">Bug-Tracker</a>
						</li>
						<li class="nav-header">Documentation</li>
						<li >
							<a href="doc-getstarted.html" title="Getting Started">Getting Started</a>
						</li>
						<li >
							<a href="doc-videos.html" title="Videos">Videos</a>
						</li>
						<li >
							<a href=".html" title="Flex ASDocs">Flex ASDocs</a>
						</li>
						<li >
							<a href=".html" title="FlexJS ASDocs">FlexJS ASDocs</a>
						</li>
						<li >
							<a href="http://help.adobe.com/en_US/flex/using/index.html" title="Documentation Reference (Old)" class="externalLink">Documentation Reference (Old)</a>
						</li>
						<li >
							<a href=".html" title="FlexUnit Tutorials">FlexUnit Tutorials</a>
						</li>
						<li >
							<a href=".html" title="FlexUnit ASDocs">FlexUnit ASDocs</a>
						</li>
						<li class="nav-header">About Apache</li>
						<li >
							<a href="http://www.apache.org" title="The Apache Software Foundation Website" class="externalLink">The Apache Software Foundation Website</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/contributing.html" title="Donations" class="externalLink">Donations</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" class="externalLink">Sponsorship</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/thanks.html" title="Thanks" class="externalLink">Thanks</a>
						</li>
						<li class="nav-header">Download Flex</li>
						<li >
							<a href=".html" title="SDK Installer (For Application Developers)">SDK Installer (For Application Developers)</a>
						</li>
						<li >
							<a href=".html" title="SDK Source Code (For SDK Developers)">SDK Source Code (For SDK Developers)</a>
						</li>
						<li >
							<a href=".html" title="SDK Binaries (For SDK Developers)">SDK Binaries (For SDK Developers)</a>
						</li>
						<li >
							<a href=".html" title="FlexJS 'beta' (For Application Developers)">FlexJS 'beta' (For Application Developers)</a>
						</li>
						<li >
							<a href=".html" title="FlexUnit (For Application Developers)">FlexUnit (For Application Developers)</a>
						</li>
						<li >
							<a href=".html" title="Blaze DS Source Code">Blaze DS Source Code</a>
						</li>
						<li >
							<a href=".html" title="Tour De Flex Source Code">Tour De Flex Source Code</a>
						</li>
						<li >
							<a href=".html" title="Squiggly Spell Checker">Squiggly Spell Checker</a>
						</li>
						<li >
							<a href=".html" title="Flex Utilities">Flex Utilities</a>
						</li>
						<li >
							<a href=".html" title="Previous Versions">Previous Versions</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-description">
					<blockquote>This is a very good project doing interesting
                and valuable things.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p>
				<p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
