<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sonatype Blog &#187; crowd</title>
	<atom:link href="http://blog.sonatype.com/people/tag/crowd/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sonatype.com/people</link>
	<description>Sonatype is transforming software development with tools, information and services that enable organizations to build better software, faster, using open-source components.</description>
	<lastBuildDate>Thu, 16 May 2013 18:53:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Nexus Professional&#039;s Support for Atlassian Crowd</title>
		<link>http://blog.sonatype.com/people/2009/11/nexus-professionals-support-for-atlassian-crowd/</link>
		<comments>http://blog.sonatype.com/people/2009/11/nexus-professionals-support-for-atlassian-crowd/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 19:15:54 +0000</pubDate>
		<dc:creator>Tim O'Brien</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[crowd]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[nexus pro]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=3349</guid>
		<description><![CDATA[Atlassian&#8217;s Crowd is a single sign-on and identity management product that many organizations use to consolidate user accounts and control which users and groups have access to which applications. Nexus Professional contains an optional security plugin that allows you to configure Nexus to authenticate against an Atlassian Crowd instance. This blog post dives into the [...]]]></description>
				<content:encoded><![CDATA[<p>Atlassian&#8217;s Crowd is a single sign-on and identity management product that many organizations use to consolidate user accounts and control which users and groups have access to which applications. Nexus Professional contains an optional security plugin that allows you to configure Nexus to authenticate against an Atlassian Crowd instance. This blog post dives into the details of Nexus Pro&#8217;s Crowd support, and provides some first steps to configuring your Nexus Pro instance to authenticate against your Crowd server.</p>

<p><span id="more-3349"></span></p>

<h3>Installing the Nexus Atlassian Crowd Plugin</h3>

<p>When you downloaded Nexus Professional, you also download a few optional plugins including the Nexus Crowd plugin. This plugin is located in the ${NEXUS_HOME}/runtime/apps/nexus/optional-plugins  directory under security-crowd-realm-1.4.0. To install this plugin in Nexus:</p>

<pre><code>* Copy the security-crowd-realm-1.4.0/ directory from ${NEXUS_HOME}/runtime/apps/nexus/optional-plugins to ${NEXUS_HOME}/runtime/apps/nexus/plugin-repository.
* Once the optional User Account plugin has been copied to the plugin-repository/ directory, restart Nexus and the User Account plugin will be installed.
</code></pre>

<h3>Configuring the Crowd Plugin</h3>

<p>Once the Atlassian Crowd plugin is installed, restart Nexus and login as a user with Administrative privileges. To configure the Crowd plugin, click on the Crown Configuration in the Securty section of the Nexus menu as shown in the following figure.</p>

<p><img alt="" src="http://www.sonatype.com/books/nexus-book/reference/figs/web/crowd_menu-link.png" title="Crowd Menu Links" class="aligncenter" width="187" height="158" /></p>

<p>Clicking on the Crowd Configuration link will load the form shown in the next figure. This configuration panel contains all of the options that needs to be configured to connect your Nexus instance to Crowd for authorization and authentication.</p>

<p><img alt="" src="http://www.sonatype.com/books/nexus-book/reference/figs/web/crowd_server-config.png" title="Crowd Configuration" class="aligncenter" width="498" height="420" /></p>

<h3>Adding the Crowd Authentication Realm</h3>

<p>Once you have configured Nexus to connect to Crowd, you must select the Crowd authorization realm from the list of available realms in your Nexus Server settings. This next figure shows the Security settings section in the Nexus Server configuration. To load the Nexus server configuration panel, click on Server under Administration in the Nexus menu. Drag Crowd from the list of available realms to the list of selected realms and then save the Nexus server configuration.</p>

<p><img alt="" src="http://www.sonatype.com/books/nexus-book/reference/figs/web/crowd_activate-realm.png" title="Activating the Crowd Realm" class="aligncenter" width="539" height="242" /></p>

<h3>Configuring a Nexus Application in Crowd </h3>

<p>To connect Nexus to Atlassian&#8217;s Crowd, you will need to configure Nexus as an application in Crowd. To do this, login to Crowd as a user with Administrative rights, and click on the Applications tab. Once you click on this tab, you should see two options under the Applications tab: Search Applications and Add Application. Click on Add Application to display the form shown in the following figure and create a new application with the following values in the Details tab of the Add Application form:</p>

<pre><code>* Application Type: Generic Application
* Name: nexus
* Description: Sonatype Nexus Professional
</code></pre>

<p>In this next tab you will need to configure the application connection for Nexu.  You need to configure the URL of the application and the remote IP address. The next figure shows the Connection form configured for a local instance of Nexus. If you would configuring Crowd and Nexus in a production environment, you would supply the URL that users would use to load Nexus in a web browser and you would supply an IP address which was not the loopback, 127.0.0.1 address. Once you have completed the Connection form, click on Next to advance to the Directories form.</p>

<p><img alt="" src="http://www.sonatype.com/books/nexus-book/reference/figs/web/crowd_new-app-connection.png" title="Configuring an application connection" class="aligncenter" width="744" height="342" /></p>

<h3>Custom Role and User Mapping</h3>

<p>That is all there is to configuring Nexus Professional to integrate with an Atlassian Crowd instance.   After you&#8217;ve connected Nexus to Crowd you can <a href="http://www.sonatype.com/books/nexus-book/reference/ch15s05.html">map Crowd roles to Nexus roles</a>, and you can customize Nexus roles granted to Crowd users.   For more information about the integration between Atlassian Crowd and Sonatype&#8217;s Nexus Professional, see the <a href="http://www.sonatype.com/books/nexus-book/reference/crowd.html">Crowd chapter of the Nexus book</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2009/11/nexus-professionals-support-for-atlassian-crowd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So How Open is your Open Source Company Anyway?</title>
		<link>http://blog.sonatype.com/people/2009/02/so-how-open-is-your-open-source-company-anyway/</link>
		<comments>http://blog.sonatype.com/people/2009/02/so-how-open-is-your-open-source-company-anyway/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 16:10:40 +0000</pubDate>
		<dc:creator>Jason van Zyl</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[ceo]]></category>
		<category><![CDATA[crowd]]></category>
		<category><![CDATA[nexus pro]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[open source business]]></category>
		<category><![CDATA[puppet]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=1670</guid>
		<description><![CDATA[Luke Kanies, the creator of Puppet, commented in his last entry about Open Source business models, specifically the idea of an Open Core and what that means. As an Open Source company do you have an open version of your product that&#8217;s crippled? Or do you an open version of your product that is truly [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.sonatype.com/people/wp-content/uploads/2009/02/istock_000005816351xsmall-300x201.jpg" alt="" title="" width="200" height="167" class="alignright size-medium wp-image-1676" /></p>

<p><a href="http://madstop.com/">Luke Kanies</a>, the creator of <a href="">Puppet</a>, commented in his last <a href="http://madstop.com/2009/02/28/the-most-freetm-way-to-make-money-from-open-source/">entry</a> about Open Source business models, specifically the idea of an Open Core and what that means. As an Open Source company do you have an open version of your product that&#8217;s crippled? Or do you an open version of your product that is truly useful? This was the crux of the questions I asked all the <a href="http://www.sonatype.com">Sonatype</a> CEO candidates, and this turned out to be the reason it took me almost 8 months interviewing 17 candidates to ferret out the right person. It was a grueling process finding <a href="http://blogs.sonatype.com/people/mark">Mark de Visser</a> but I was adamant and our VCs, <a href="http://humwin.com"/>Hummer Winblad</a> &amp; <a href="http://www.morgenthaler.com/">Morgenthaler</a>, were very patient and let me take my time to find the exact right match. I got pretty ornery at one point &emdash; I thought I would never find the right person in Silly Valley.
<span id="more-1670"></span></p>

<ul>
  <li>The Open Source product you provide to users must be great: the Open Core should stand on its own as something truly useful without any additional commercial add-ons. The software must perform well in a production environment.</li>
  <li>The Open Source product you provide should go through an ungodly amount of testing and QA. Testing and QA on the Open Core are the cornerstone of quality and should not be reserved for commercial versions of your product. </li>
  <li>The Open Source product you provide should be architected such that all commercial features are plug-ins to the Open Core.</li>
  <li>The Open Source product you sell should have completely open pricing.  If someone cannot clearly see what your pricing is and what the difference is between your open and commercial versions, you likely have a predatory and opportunistic pricing model.</li>
</ul>

<p>At Sonatype with our first product, <a href="http://nexus.sonatype.org">Nexus</a>, I can say that I feel internally consistent about our process and our products.   I&#8217;m satisfied that we have achieved the right balance between our Open Core and the commercial plugins. I feel internally consistent about the way we have participated as individuals in the community.   While I&#8217;ve spent a decade contributing to open source software, I&#8217;m also aware that I occasionally need to eat.</p>

<h3>Nexus&#8217; Open Core</h3>

<p>The Open Source version of Nexus is good and stands on its own. People can use it in production environments. We have an enormous amount of integration tests with coverage reporting. We have dedicated QA staff, and we&#8217;ll be taking the next step with help from <a href="http://lightbody.net/blog/">Patrick Lightbody</a> to setup completely automated, x-browser, Selenium testing in mid-March.  We have a book on Nexus that is free.  Being open and not hiding the online documentation behind registration has been a good thing for the community</p>

<p>We have a modular platform where the commercial features are a clear superset of the Nexus core. We have no special branches for the Nexus core for the commercial version. All of our QA and testing for the core happen in the open. Our commercial SCM contains nothing but plug-ins and our build simply drops those plug-ins into the core structure where they detected on startup and activated.</p>

<p>In a Nexus plugin core functionality can be added, UI features, REST services, and security capabilities. When a plugin is detected all of these capabilities contribute to well defined extension points in the Nexus core and are automatically wired in. We have no additional code for the core in the commercial version of Nexus. We don&#8217;t need to. We are still working through our APIs but users in the community have already contributed plug-ins (the first was a plugin to integrate Nexus with Atlassian&#8217;s Crowd product) and everyone will be able to extend Nexus in the same way Sonatype does. That does mean we have to make sure that we provide a lot of value in the commercial version and that&#8217;s fine with us.</p>

<h3>Open Pricing Model</h3>

<p>Our pricing model is also completely open. I think without question that Atlassian has this right. Atlassian is more like an Open Source company then most Open Source companies. If you show everyone the same thing you don&#8217;t have to remember the variations that are just going to get you in trouble. If you don&#8217;t have a clear pricing model driven by channels and inside sales you&#8217;re just dead as a company. The days of enterprise elephant hunting is over. Potential customers who start out as your Open Core users need to see exactly what they get and how much it costs. If they can make all the decisions by easily trying your commercial product and comparing features then you have a viable company.  It&#8217;s all predicated on being truly open.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2009/02/so-how-open-is-your-open-source-company-anyway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nexus Crowd Plugin Introduction</title>
		<link>http://blog.sonatype.com/people/2009/02/nexus-crowd-plugin-introduction/</link>
		<comments>http://blog.sonatype.com/people/2009/02/nexus-crowd-plugin-introduction/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 14:44:34 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[crowd]]></category>
		<category><![CDATA[justin]]></category>

		<guid isPermaLink="false">http://www.sonatype.com/people/?p=1608</guid>
		<description><![CDATA[Last week, I released an open-source plugin for Sonatype Nexus which integrates Atlassian&#8217;s Crowd identity management server. You can read the installation instructions on docs.sonatype.org, but in this blog post I wanted to write a bit about Crowd itself and my objectives for the plugin. Read on to learn about Atlassian&#8217;s Crowd and how you [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.sonatype.com/people/wp-content/uploads/2008/12/nx-big_large1.png" alt="" title="" width="100" height="100" class="alignright size-full wp-image-1323" />Last week, I released an open-source plugin for Sonatype Nexus which integrates Atlassian&#8217;s <a href="http://www.atlassian.com/software/crowd">Crowd</a> identity management server. You can read the installation instructions on <a href="https://docs.sonatype.org/display/Nexus/Nexus+Crowd+Plugin">docs.sonatype.org</a>, but in this blog post I wanted to write a bit about Crowd itself and my objectives for the plugin.   Read on to learn about Atlassian&#8217;s Crowd and how you can use it with Nexus.
<span id="more-1608"></span></p>

<h2>What is Crowd? (or why not just use LDAP)</h2>

<p>Atlassian refers to Crowd as an Single-Sign On and Identity Management Server. This basically means that Crowd is a directory server that allows you to manage users, groups, and roles. Atlassian provides Crowd integration libraries for all of their products (&#8216;natch), Apache, Subversion, and Jive Forums, Acegi, and Spring Security, as well as a generic Java client. Crowd can be used in many scenarios where an LDAP server could be used, but differs from LDAP servers in the following ways:</p>

<ul>
    <li>Crowd is specifically designed for user management. As a result, the API is significantly simpler than most LDAP APIs</li>
    <li>Crowd provides a SOAP-based Web Services API.</li>
    <li>Crowd is designed to multiplex directories. This allows you to combine multiple directories in a way that is transparent to client applications. These directories can be backed by a database, LDAP server, Active Directory server, or using entirely custom logic.</li>
    <li>Each client application which uses Crowd can have a uniquely defined view: which directories are included, which users will be able to authenticate, etc..</li>
</ul>

<p>Crowd also can act as an OpenID provider and has limited support for SAML, largely to support Google Apps.</p>

<p>I was drawn to Crowd after doing many different LDAP integrations and running to what I saw as roadblocks to agility. Crowd is easy to mock, easy to administer, and easy to develop against.</p>

<h2>Plugin Objectives</h2>

<p>Starting with version 1.1, it has been possible to use alternate authentication mechanisms within Nexus. With this in mind, the objectives for the Crowd plugin were pretty straightforward:</p>

<ul>
    <li>Authenticate users against Crowd.</li>
    <li>Get the list of user roles from Crowd.</li>
    <li>Define the permissions for each role in Nexus.</li>
</ul>

<p>This last point was particularly important. The Nexus permission model is (necessarily) complex with support for repository-specific permissions, nested roles, and the potential for permission to be added by plugins or in future releases. As such, it seemed to make the most sense to have user/role mappings done in Crowd, but the role/permission mappings done inside Nexus.</p>

<p>In Nexus 1.1, accomplishing these objectives involved a substantial amount of boilerplate code involved in order to accomplish the last objective. With Nexus version 1.2, support for external authentication sources was substantially improved and the Crowd plugin was rewritten to take advantage of those improvements.</p>

<h2>Future Goals</h2>

<p>Moving forward, the two substantial improvements identified for the plugin are a configuration user interface and support for Single Sign On (SSO). If you have additional suggestions for plugin features, please raise those via <a href="http://issues.sonatype.org/">JIRA</a> or on the Nexus mailing list.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sonatype.com/people/2009/02/nexus-crowd-plugin-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
