<?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>Black Duck Open Hub Blog</title>
	<atom:link href="https://blog.openhub.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.openhub.net</link>
	<description>Open Hub, Blog, Documentation, Info</description>
	<lastBuildDate>Wed, 10 Jan 2018 01:37:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.11</generator>

<image>
	<url>https://blog.openhub.net/wp-content/uploads/2014/07/OH_logo-e1406051343599.png</url>
	<title>Black Duck Open Hub Blog</title>
	<link>https://blog.openhub.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Spammers: Check. Projects next. And Other Goodies.</title>
		<link>https://blog.openhub.net/2017/10/spammers_check_projects_next/</link>
		<comments>https://blog.openhub.net/2017/10/spammers_check_projects_next/#comments</comments>
		<pubDate>Tue, 24 Oct 2017 20:02:51 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3435</guid>
		<description><![CDATA[Hail Open Hubbites! We&#8217;ve been working hard and focusedly over the past month and would like to share some updates. The first, and biggest news, is that we ended our offshore partnership at the end of September. There were a number of drivers for this, but the immediate impact is that we are currently a [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Hail Open Hubbites! We&#8217;ve been working hard and focusedly over the past month and would like to share some updates.</p>
<p>The first, and biggest news, is that we ended our offshore partnership at the end of September. There were a number of drivers for this, but the immediate impact is that we are currently a 4 person team. This explains why it&#8217;s been even more difficult than usual to keep up with all the ways folks get in touch with us: forum, blog posts, email, and tweets. We&#8217;re sorry about that and are working hard to keep with with everyone&#8217;s questions. We are planning on adding more members to the team over time, so this pressure will ease a bit.</p>
<p>We also completed the process of our Machine Learning trained dataset and permanently deleted some 60K spam accounts. We&#8217;re really grateful for the work of our intern, Sourav Das, currently at MIT, for his amazing attitude and contribution. He lead this work and created great results. This effort really caps the push we made to get spammers off our our site, when we suspected that as many as 2/3 of our accounts were spam. We currently have some 232K accounts in good standing.  Having cleaned out some 500K accounts, we were pretty close in our estimate. The good news is that the rate of spam account creation is well within our ability to monitor.</p>
<p>There is still more to do in this regard. There are a accounts that created projects and edit on the site, which makes them look like legitimate users, but the projects they created are really spammy advertisements. We plan on applying the ML learning we&#8217;ve done to train the algorithm to detect spam projects and start cleaning them off the site.  Let&#8217;s take a quick look at what that means:</p>
<p>In our home page, we say that we are indexing 472K projects.  That&#8217;s the number of undeleted projects on the Open Hub. However, not every project has analyzable code. When we count projects that are not deleted and have had an analysis in the past &#8212; at any time &#8212; we see there are 292K such projects; about 62% of all projects. This really could mean that the difference, some 180K projects that have never been analyzed, could really be spam projects.  Some of them are legitimate OSS projects that don&#8217;t have analyzable code &#8212; documentation projects and that ilk.  But there really are only a tiny number of those. I&#8217;d wager that most all of those 180K unanalyzed projects are junk. So that next ML project to find them and get rid of them is important so that we have real numbers about activity in the OSS community.</p>
<p>Let&#8217;s turn our attention back to the nearly 300K projects that have had analysis.  Of them there are nearly 28K projects that have a CodePlex repository. As you probably know, <a href="https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/">CodePlex</a> has gone into Read-Only mode and will be shutting down entirely by the end of this year. Most of those projects have <span style="text-decoration: underline;">only</span> CodePlex repositories. In accordance with our mandate to provide analytics on available and active Open Source Software project, we will be deleting all those projects. (We&#8217;ll start a background effort to find any new locations for those projects).  This will drop the number of undeleted projects that have been analyzed at some point in the past to some 263K projects.</p>
<p>Finally, when we consider projects that have jobs in a permanent state of failure, which blocks our ability to generate updated analytics, we have to remove an additional 40K projects, which drives down the number of active projects that can reliably be updated: we&#8217;re really looking at 223K projects.</p>
<p>We have two major strategies to increase the number of available and active OSS projects on the Open Hub. The first is to lower the threshold to getting new projects into the Open Hub. We are working on an overhauled and streamlined workflow for adding projects from GitHub to the Open Hub. Right now, we support only a bulk-upload of all repositories in a GitHub account into a single project.  We plan on letting users create new projects, assign repositories to the same new projects, and assign repositories to existing projects.  This will let users quickly get their projects into the Open  Hub.</p>
<p>If this works as well as hoped, we can expand it to other forges, such as GitLab.  Your requests for other forges are most welcome.</p>
<p>The other strategy is to continue the cleanup work to examine failed jobs and see what can be recovered. But our user community is the best strategy we have.</p>
<p>Even with &#8220;only&#8221; 223K projects, there is no way we can manually review even the majority of them. Therefore, we will be making it possible to use your GitHub account to create and sign into the Open Hub. By lowering the barrier to being able to make edits on the Open Hub and relying on the maturity of the GitHub environment, we hope that more users will be willing to push their Open Source Software project to the Open Hub, and review existing projects to ensure we have the most up-to-date information.</p>
<p>We are also working on capping the number of enlistments that any one project can have.  This will make it easier to review and maintain projects. We will introduce a new feature &#8216;Open Hub Collections&#8221; to gather blocks of related projects, like Linux distributions, so that users can quickly see which projects make up a collection and quickly navigate to related projects.</p>
<p>Gosh, there is so much more. There are ongoing database architecture upgrades, rewrite of the analytics engine, a future overhaul of Ohloh SCM, ongoing reviews of pull requests against Ohcount, and the daily task of making sure everything we have is working the way it&#8217;s supposed to. Oh, and we updated the CSS so that the Open Hub is in line with the standards defined by the Black Duck Marketing team. But, these will have to wait for another post.</p>
<p>Thank you for being part of the Open Source Community and the Open Hub. (And please provide your feedback in our survey, which will be open for only a little bit longer: https://www.surveymonkey.com/r/G5HN2JH)</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/10/spammers_check_projects_next/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Raise your voice!</title>
		<link>https://blog.openhub.net/2017/09/raise-your-voice/</link>
		<comments>https://blog.openhub.net/2017/09/raise-your-voice/#comments</comments>
		<pubDate>Mon, 18 Sep 2017 21:51:55 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3431</guid>
		<description><![CDATA[With the achievement of Making Our Back End Screamingly Fast, we are shifting the focus of our little team to more UI features. To learn more about you, our user community, we are asking for a few minutes of your time to fill out a brief survey. We opened the survey only a few days [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>With the achievement of Making Our Back End Screamingly Fast, we are shifting the focus of our little team to more UI features.</p>
<p>To learn more about you, our user community, we are asking for a few minutes of your time <a href="https://www.surveymonkey.com/r/G5HN2JH">to fill out a brief survey</a>.</p>
<p>We opened the survey only a few days ago and already have a few dozen responses. So, we&#8217;re thinking that we&#8217;ll leave it open for a few months, then close it and write all about it.</p>
<p>Please fill out the survey and ask your friends and colleagues to do so as well. The link is available from <span style="text-decoration: underline;">every</span> page on the Open Hub.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/09/raise-your-voice/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Four Months. 1/3 of a Year. About 123 Days Have Passed</title>
		<link>https://blog.openhub.net/2017/09/four-months-13-of-a-year-about-123-days-have-passed/</link>
		<comments>https://blog.openhub.net/2017/09/four-months-13-of-a-year-about-123-days-have-passed/#comments</comments>
		<pubDate>Mon, 18 Sep 2017 21:04:05 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3429</guid>
		<description><![CDATA[Yeah, but it&#8217;s been only around 87 work days. On the other hand, we keep strange hours and are working regularly on Sunday morning to perform upgrades and improvements. We&#8217;ve done a lot and would like to share some things with you. At the end of May, we announced our FIS Ohloh Database Split (FODS) project [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Yeah, but it&#8217;s been only around 87 work days. On the other hand, we keep strange hours and are working regularly on Sunday morning to perform upgrades and improvements. We&#8217;ve done a lot and would like to share some things with you.</p>
<p>At the end of May, we announced our FIS Ohloh Database Split (FODS) project (<a href="https://blog.openhub.net/2017/05/about-the-fods-architecture/">About the FODS Architecture</a>), and we said that there was still work to do, and we got busy working on that. Here&#8217;s a quick punch list:</p>
<ol>
<li>Fixed an issue in SVN where a &#8220;REPLACED&#8221; file was incorrectly counted</li>
<li>Did a round of performance improvements on the FODS architecture</li>
<li>Post FODS, the Ohloh UI Website performance was poor. We brought server response times back to pre-deployment speeds.</li>
<li>Aggressively hunted down expensive queries and improved them</li>
<li>Maintained 99.7% test coverage on our Ohloh UI</li>
<li>Updated our automated Selenium scripts to verify post-FODS functionality</li>
<li>Improved language support for Ohcount: Grace, AMPL, Shell Script detection, Puppet versus Pascal disambiguation, Objective C detection</li>
<li>Overhauled our Job Scheduler Logic to better identify Code Locations in need of update</li>
<li>Leveraged Machine Learning to identify spam accounts</li>
<li>Fixed issue that caused bloated Ruby processes in production web servers</li>
<li>Deployed incremental FODS improvements to address DB contention, and back-end process deaths</li>
<li>Fixed issue that was blocking AnalyzeJobs and updated over 300,000 Project Analyses in a few days</li>
<li>Added 60,000 Go Code Locations for the Black Duck Knowledge Base</li>
<li>Added a new Enhanced License feature to better illustrate the rules around a license type (we have more data to populate)</li>
<li>Even more fixes to job logic, job execution, job death, jobs, jobs, jobs, jobs, jobs!!!!</li>
</ol>
<p>Our goal over the past few months was to Make Our Back End Screamingly Fast. And we&#8217;ve achieved that.</p>
<p>About a year ago, we were coming off of the massive <a href="https://blog.openhub.net/2016/09/update-were-doing-it/">Back-End Background</a> issue, and Project updates were in the double digits per hour.  Like &#8220;10&#8221; and &#8220;20&#8221;. With the work we&#8217;ve done, it&#8217;s consistently been 5,000 updated analyses per hour.</p>
<p>We also dealt with the 200,000+ projects that had only enlistments at the long-defunct Google Code forge. We deleted them. We have a plan to search for those projects on GitHub, and if we can find them, we can re-add the project, but it was really important to clear out all those projects that <em>would never be able to be updated again</em>, This let us clear out all the failed jobs related to those projects too.</p>
<p>Up next is <a href="https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/">Microsoft&#8217;s Codeplex</a>. In October, the site will switch to &#8220;read-only&#8221; mode. In December, the site shuts down. We&#8217;ll do the same process &#8212; delete the projects and clear out the jobs.</p>
<p>Right now, we&#8217;re updating 68% of our projects every 3 days.  When we drop the Codeplex projects, which are mostly broken because CodePlex broke their SVN implementation ages ago (Google it; it&#8217;s too painful for me to talk about), we expect to push that number over 80%.</p>
<p>Oh, yeah, on May 11, 2017, after I presented at OSCON, we switched the <a href="https://github.com/blackducksoftware/ohloh-ui">Ohloh UI repository</a> from private to public. So yeah, the Open Hub is OSS. While I was at OSCON, I also had a chance to sit down and chat with the indomitable Randal Schwartz for <a href="https://twit.tv/shows/floss-weekly/episodes/433">TWIT&#8217;s FLOSS Weekly</a>.</p>
<p>We&#8217;ve got more wonderful things planned, so more blog posts coming. As always, thank you for being a member of the Open Source Community and the Open Hub</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/09/four-months-13-of-a-year-about-123-days-have-passed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About the FODS Architecture</title>
		<link>https://blog.openhub.net/2017/05/about-the-fods-architecture/</link>
		<comments>https://blog.openhub.net/2017/05/about-the-fods-architecture/#comments</comments>
		<pubDate>Thu, 18 May 2017 22:29:17 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3403</guid>
		<description><![CDATA[Over the weekend starting on Friday, May 5, 2017, we deployed a significant upgrade to our architecture and we&#8217;d like to share some details. In The Beginning Above is a picture of our architecture before the weekend deployment.  We had four applications using the same database: FISbot &#8212; our Fetch, Import, SLOC bot Ohloh analysis &#8212; Project, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Over the weekend starting on Friday, May 5, 2017, we deployed a significant upgrade to our architecture and we&#8217;d like to share some details.</p>
<h3>In The Beginning</h3>
<p><img class="aligncenter size-medium wp-image-3405" src="https://blog.openhub.net/wp-content/uploads/2017/05/Single-DB-Architecture-300x135.png" alt="single-db-architecture" width="300" height="135" srcset="https://blog.openhub.net/wp-content/uploads/2017/05/Single-DB-Architecture-300x135.png 300w, https://blog.openhub.net/wp-content/uploads/2017/05/Single-DB-Architecture-768x346.png 768w, https://blog.openhub.net/wp-content/uploads/2017/05/Single-DB-Architecture.png 920w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Above is a picture of our architecture before the weekend deployment.  We had four applications using the same database:</p>
<ol>
<li>FISbot &#8212; our Fetch, Import, SLOC bot</li>
<li>Ohloh analysis &#8212; Project, account, organization, etc. analysis generation</li>
<li>Ohloh UI &#8212; web and API application</li>
<li>Ohloh Utility (cron jobs)</li>
</ol>
<p>The database was a single PostgreSQL 9.6 database that was over 1.6 TB in size. With the delivery of the eFISbot features to support Fetch, Import and SLOC operations for the Knowledge Base team as well as our own Open Hub, we clearly saw that even a modest increase in eFISbot request processing impacted the database and resulted in poor performance for the web application. In brief, we couldn&#8217;t scale to support the anticipated load on eFISbot.</p>
<h3>Current Architecture</h3>
<p>In our <a href="https://blog.openhub.net/2017/01/open-hub-in-2017/">plans for 2017</a>, we committed to making the backend screamingly fast and talked about how we gotten approval for new servers to support this. Starting at 8 PM EDT on Friday, May 5 we took a major step towards delivering on that commitment. We called it the &#8220;FIS Ohloh Database Split&#8221; (FODS).</p>
<p><img class="aligncenter wp-image-3406" src="https://blog.openhub.net/wp-content/uploads/2017/05/Split-DB-Architecture-1024x428.png" alt="split-db-architecture" width="512" height="214" srcset="https://blog.openhub.net/wp-content/uploads/2017/05/Split-DB-Architecture-1024x428.png 1024w, https://blog.openhub.net/wp-content/uploads/2017/05/Split-DB-Architecture-300x125.png 300w, https://blog.openhub.net/wp-content/uploads/2017/05/Split-DB-Architecture-768x321.png 768w, https://blog.openhub.net/wp-content/uploads/2017/05/Split-DB-Architecture.png 1131w" sizes="(max-width: 512px) 100vw, 512px" /></p>
<p>We moved the four largest tables that are critical to Fetch, Import, and SLOC operations to a new FIS database and set up <a href="https://www.postgresql.org/docs/9.6/static/postgres-fdw.html">PostgreSQL Foreign Data Wrapper</a> (FDW) to send data back and forth between the two. This moved the bulk of the 1.6 TB of the database over to the new (and powerful) servers, leaving only 65 GB on the original database servers.</p>
<h3>Not Yet Done</h3>
<p>As is often the case in significant architectural upgrades, not everything worked smoothly out of the box. We are seeing two classes of problems. One is apparent when viewing Commit Summary pages for the largest projects.  We&#8217;re seeing queries taking a massive amount of time.  The other is the time it takes to execute project analysis jobs: analyze jobs that used to take a couple of minutes can run for more than half a day. Obviously, this is causing a massive backlog of projects that are not getting analyzed. Normally, we complete an AnalyzeJob in a few minutes and can process between 600 and 1000 jobs per hour.</p>
<p>Part of the analyze job run duration, we are also seeing analyze jobs fail in the last step of the analyze job with a PostgreSQL Serialization error. This means that there are analyze jobs that have not been able to complete successfully. Right now (I just checked), we have over 131K AnalyzeJobs scheduled, with about 600 completed in the past few days and about 200 that have failed with 99% of them failing with the PostgreSQL Serialization error, presumably related to our use of the FDW.</p>
<p>Both of these seem to be traceable to the FDW. I&#8217;m not blaming the FDW for anything. We are reasonably certain that we are not using the FDW optimally. There were some obvious changes that were needed by adopting FDW and we did those during our development and testing cycle. Then there were things that we did not predict or behave differently in production than they did in staging, even though we did a lot of work to simulate our production environment in staging. But as is usually the case, there are some new things that are found only in production. The two cases described above fall into that category.</p>
<p>Even with these issues, we feel the FODS deployment was a tremendous success because the vast majority of pages display at least as fast, plus we have tremendous capacity to grow the eFISbot service.</p>
<h4>Here&#8217;s what we doing about it</h4>
<p>For the project analysis jobs, we examined the issue from a number of perspectives and identified a few tables that we could migrate from the OH DB to the FIS DB. Initial tests show that Analyze queries that took 12K ms to run are now running in 1.6K ms, almost 8 times faster.</p>
<p>For the Commit pages, we are working with the <a href="https://rubygems.org/gems/secondbase/">SecondBase gem</a> to allow the Ohloh UI to directly access the FIS DB for the data stored there rather than push massive queries through the FDW. Initial tests show that this also results in multiples of better performance, although we&#8217;re still gathering the numbers.</p>
<p>While the use of a direct connection to the FIS DB will improve performance on the vast majority of Commit pages, the largest projects still represent a special problem. Right now we have just over 676K projects.  Only 3 of them have more than 1,000 enlistments &#8212; Fedora Packages, KDE, and Debian. All three of these are Linux distributions. We briefly mentioned distributions in our <a href="https://blog.openhub.net/2016/04/open-hub-in-2016/">post about 2016 plans</a> and now is the time to implement them. The plan is to create a new entity called a &#8220;Distribution,&#8221; which represents a collection of Open Source Software projects.  This is different from an Organization because the Distribution represents a packaged and related collection of OSS projects. By doing this, we can process each of the projects within the Distribution individually and then aggregate the analysis results for the Distribution.</p>
<p>The way this would work would be that, in the case of Fedora packages with 11,956 enlistments, we would create a project for each of the enlistments and then group all those new projects into the Distribution.  When looking at the Distribution, we can provide the list of projects, links to each of them, plus aggregate the data from those projects with a new &#8220;Distribution Analysis&#8221;. Most importantly, when displaying the Distribution, we won&#8217;t have to try to aggregate the commits from all 12K enlistments into a single view.</p>
<h3>Next Steps</h3>
<p>We are working quickly on testing and verifying behavior using the new distribution of tables and the second DB connection. We hope to have improvements deployed within a week.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/05/about-the-fods-architecture/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Researching Project Security Data</title>
		<link>https://blog.openhub.net/2017/05/researching-project-security-data/</link>
		<comments>https://blog.openhub.net/2017/05/researching-project-security-data/#respond</comments>
		<pubDate>Thu, 04 May 2017 15:45:11 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3396</guid>
		<description><![CDATA[This started with a message from the outstanding Marc Laporte about the Project Security Data for the Tiki Wiki CMS Groupware project. Marc took what looks like a healthy amount of time to carefully document the discrepancies and areas of confusion around the security report. In kind, we&#8217;ve taken a deep dive into the data. The [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>This started with a <a href="https://www.openhub.net/topics/13907">message</a> from the outstanding <a href="https://www.openhub.net/accounts/marclaporte">Marc Laporte</a> about the <a href="https://www.openhub.net/p/tikiwiki/security?filter%5Bmajor_version%5D=&amp;filter%5Bperiod%5D=&amp;filter%5Bversion%5D=3551363&amp;filter%5Bseverity%5D=">Project Security Data for the Tiki Wiki CMS Groupware</a> project. Marc took what looks like a healthy amount of time to carefully <a href="https://tiki.org/Open+Hub+Project+Vulnerability+Report#FeedbackRound2">document the discrepancies and areas of confusion</a> around the security report. In kind, we&#8217;ve taken a deep dive into the data.</p>
<h3>The Problem (in Brief)</h3>
<p>Marc highlighted a few problems.  The first was that we were missing versions.  We were able to address that problem.</p>
<p>The more complicated one is that there are discrepancies in the versions reported affected by a vulnerability as well as inexplicable ordering of the versions.</p>
<h3>The Explanation (Not Brief)</h3>
<p>The author sat down with one of the senior member of the Black Duck Software (BDS) Knowledge Base (KB) team to look at the data being presented and to start unwinding the trail of data production back to its beginnings.</p>
<p>We looked at the data in our KB, the channels through which those data are obtained, and looked at how we have gotten and are getting those data as well as what we are doing with it.  The issue mostly boils down to &#8220;dates are hard.&#8221; Note that we&#8217;re not talking about engineers getting dates &#8212; that&#8217;s a different topic altogether &#8212; but how a non-trivial system discovers, identifies, and documents dates that are connected to important events such as version releases of software.</p>
<p>Our story starts some 15 years ago in the early days of Black Duck, when ad hoc Open Source Software (OSS) standards were few and the forges were fewer. BDS engineers were interested in getting information about OSS fundamentally for license compliance. Releases were important, but licenses were more so. Dates were captured when available, and typically from the date stamps of files after syncing files locally, but there wasn&#8217;t a focused interest on the dates of releases. It seemed like good metadata to have and we like metadata.</p>
<p>One obvious challenge to this model is when a team uploads a body of work onto a forge. Different file date stamps can be lost from the original system and replaced with the timestamp at which time the files were created on the new system. At this point, the KB sees a number of release tags all with the same time stamp.</p>
<p>We layer onto this the reality that projects were often duplicated on different forges or through different release channels; for example, the source forge and the project&#8217;s download page. Over the years, the KB Research team has performed tirelessly and relentlessly in hunting down and correcting duplications and merging projects together. Please recall that the KB tracks significantly more projects than the 675,000 projects we track on the OH. All that said, we believe we have an opportunity to re-examine the merge logic and attempt to improve the dates selected for version releases and have opened a ticket to do that work.</p>
<p>However, one of the most complicating factors is that we don&#8217;t always know about all the releases in spite of these methods and learn about a release only when it&#8217;s mentioned in the CVE report. When this happens, we create a record for the release and, in lieu of any better information, record the date we learned about the release as the release date.</p>
<p>Add into this particular challenge that vulnerability feeds will often state that a vulnerability affects &#8220;this and all previous&#8221; versions. What exactly does that mean? Is version 6.15 before or after version 8.4? When one is confident in the dates we have for version releases, we can use those to determine what came before, but as we just examined, one cannot always be confident about such dates. What about applying the vulnerability to previous versions across branches?  For example, a vulnerability affects 3.6 &#8220;and all previous versions.&#8221; We would all likely agree that impacts version 3.5, 3.4, and 3.3 &#8212; all previous 3.x versions.  But what about version 2.10? Was that really affected as well? What about all the 2.x or 1.x releases? It just isn&#8217;t clear.  And, what if the vulnerability was in a component the project used? That isn&#8217;t clear either from the available data feeds.</p>
<p>Oh, and we should mention that vulnerability feeds, such as the <a href="https://nvd.nist.gov/vuln/data-feeds">NVD Data Feeds</a>, change over time.  For example NVD version 1.2  provided this &#8220;affected versions&#8221; identifier, but it was dropped in version 2.0, although we expect that it will return in version 3.0.</p>
<p>The takeaway is that we think we can do something in the short term that might help clear up dates to make them more reasonable, but the real fix will come from improved efforts on identifying the actual versions that are affected by vulnerabilities so we can do away with blanket policies.</p>
<p>This is why Black Duck is making a concentrated effort to provide effective information on OSS vulnerabilities. We&#8217;ve assembled a dedicated research team that is focusing on this problem to ferret out in greater and more reliable detail the true relationships between vulnerabilities and the OSS projects and versions affected by them.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/05/researching-project-security-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Hub Scheduled Downtime</title>
		<link>https://blog.openhub.net/2017/04/open-hub-scheduled-downtime/</link>
		<comments>https://blog.openhub.net/2017/04/open-hub-scheduled-downtime/#comments</comments>
		<pubDate>Thu, 27 Apr 2017 17:06:51 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[downtime]]></category>
		<category><![CDATA[scheduled]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3394</guid>
		<description><![CDATA[There are two periods of scheduled downtime for the Open Hub over the next week or so. The first will start tomorrow, Friday, April 28, when Black Duck&#8217;s IT team starts a network update project in our production data center. There may be a series of service interruptions through this weekend. We do not expect [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>There are two periods of scheduled downtime for the Open Hub over the next week or so.</p>
<p>The first will start tomorrow, Friday, April 28, when Black Duck&#8217;s IT team starts a network update project in our production data center. There may be a series of service interruptions through this weekend. We do not expect that the Open Hub will be down for any long period of time should it be unavailable, although these service interruptions will be unpredictable.</p>
<p>The other service interruption will start on Friday, May 5 at 8 PM EDT. We will be taking the Open Hub offline at this time in order to perform a significant architecture upgrade. Unfortunately, this work cannot be done during the IT work window because the network upgrade will mean, by definition, that the network and some systems will be unavailable.</p>
<p>We&#8217;re really excited by this architecture upgrade, which we&#8217;re calling the FIS &#8211; OH Database Split (FODS) project.  This work is separating our back end that provides the Fetch, Import, and SLOC operations from the Analysis and UI operations. This is the culmination of a significant amount of work over more than a year as we took incremental steps to mitigate production risk, expand our capabilities and scalability, and improve our website performance. To do this, we need to pull the site offline to make a backup, restore it to two systems, and then run a series of scripts to update the schemas for the new two database architecture, then all the applications need to be deployed and verified before we bring the entire set of systems back online. We expect that all this work will take the majority of the weekend and the Open Hub will be unavailable throughout this work.</p>
<p>As always, thank you so very much for being a member of the Open Source Software community and a part of the Open Hub.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/04/open-hub-scheduled-downtime/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New Feature: I Use This from Search Results Page</title>
		<link>https://blog.openhub.net/2017/03/new-feature-i-use-this-from-search-results-page/</link>
		<comments>https://blog.openhub.net/2017/03/new-feature-i-use-this-from-search-results-page/#comments</comments>
		<pubDate>Wed, 22 Mar 2017 22:26:14 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3380</guid>
		<description><![CDATA[Our thanks to longtth for this suggestion in the Forums:&#8221;I think it would be very handy to have the &#8220;I use this&#8221; button directly on the search result page.&#8221; A few weeks ago we rolled out this feature on the Project Search Results page. The new feature is available with every search result and will [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Our thanks to <a href="https://www.openhub.net/accounts/longtth">longtth</a> for this suggestion in the <a href="https://www.openhub.net/topics/13914">Forums</a>:&#8221;I think it would be very handy to have the &#8220;I use this&#8221; button directly on the search result page.&#8221;<img class="alignright wp-image-3377 size-medium" src="http://blog.openhub.net/wp-content/uploads/2017/03/New-I-Use-This-288x300.png" alt="new-i-use-this" width="288" height="300" srcset="https://blog.openhub.net/wp-content/uploads/2017/03/New-I-Use-This-288x300.png 288w, https://blog.openhub.net/wp-content/uploads/2017/03/New-I-Use-This-768x800.png 768w, https://blog.openhub.net/wp-content/uploads/2017/03/New-I-Use-This-983x1024.png 983w" sizes="(max-width: 288px) 100vw, 288px" /></p>
<p>A few weeks ago we rolled out this feature on the Project Search Results page.</p>
<p>The new feature is available with every search result and will open the Stacks Dialog box just the same way the button would operate on the project page.</p>
<p>Also, please don&#8217;t forget that you can add new projects from the Project Search Results page as well!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/03/new-feature-i-use-this-from-search-results-page/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>That was not fun</title>
		<link>https://blog.openhub.net/2017/03/that-was-not-fun/</link>
		<comments>https://blog.openhub.net/2017/03/that-was-not-fun/#comments</comments>
		<pubDate>Fri, 03 Mar 2017 10:34:21 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3371</guid>
		<description><![CDATA[The Open Hub is up and running again after a full day of being unavailable. We apologize for any inconvenience this unexpected downtime caused and want to share what we know about what happened. In brief; while performing a minor version upgrade of our PostgreSQL database from version 9.4 to 9.6, the upgrade process had [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The Open Hub is up and running again after a full day of being unavailable. We apologize for any inconvenience this unexpected downtime caused and want to share what we know about what happened.</p>
<p>In brief; while performing a minor version upgrade of our PostgreSQL database from version 9.4 to 9.6, the upgrade process had a catastrophic failure and we lost the entire database.</p>
<p>Fortunately, we had made a backup before starting the process, and were able to restore from it. However, we did loose a few days of data and changes.  For that we are truly sorry.</p>
<p>We&#8217;ve done these upgrades before. As a general rule, we don&#8217;t like to get more than 2 minor revisions behind in anything in our stack. So, we planned for the upgrade, tested it rigorously in our staging environment, carefully documented each step and command that would need to be executed. Normally we would only do this kind of work on a Sunday morning, when the Open Hub has the least amount of traffic.</p>
<p>The decision to proceed with the upgrade rests entirely with me as team lead.</p>
<p>We expected a 20 minute upgrade process, followed by an Analyze to generate the necessary statistics which could have taken up to an hour.  We figured the site would be back up in less than 2 hours.</p>
<p>But very early in the process, one of the first pg_upgrade statements generated an error because the target data directory was erroneously entered as the mount point, owned by root, instead of a subdirectory owned by postgres.  This should have simply generated the error, we would have fixed the command and continued on our way.</p>
<p>However, when we checked file systems, it was immediately apparent that the data directory in the original 9.4 location was completely gone, along with all our data. We&#8217;ve scoured the history files and the logs to see if there was anything else that could have been a factor, but do not see anything else.  We have even read the source code of the pg_upgrade feature (available at <a href="https://doxygen.postgresql.org/pg__upgrade_8c.html#a3c04138a5bfe5d72780bb7e82a18e627">https://doxygen.postgresql.org/pg__upgrade_8c.html#a3c04138a5bfe5d72780bb7e82a18e627</a>).</p>
<p>We are now looking over the entire site and getting updates we know we&#8217;ve made after the database backup was made.  Please don&#8217;t hesitate to ping us on Twitter at @bdopenhub, or contact us at info@openhub.net with any observations, insults, questions, or comments, etc.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/03/that-was-not-fun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Open Hub in 2017</title>
		<link>https://blog.openhub.net/2017/01/open-hub-in-2017/</link>
		<comments>https://blog.openhub.net/2017/01/open-hub-in-2017/#comments</comments>
		<pubDate>Tue, 17 Jan 2017 21:02:01 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3326</guid>
		<description><![CDATA[Hail Hubbites! We&#8217;d love to share some of the things that have been going on and will be going on here in Open Hub Land. We accomplished some very significant work in 2016 and would like to take a moment to lay it out and then talk about what we&#8217;d like to accomplish in 2017. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Hail Hubbites!</p>
<p>We&#8217;d love to share some of the things that have been going on and will be going on here in Open Hub Land. We accomplished some very significant work in 2016 and would like to take a moment to lay it out and then talk about what we&#8217;d like to accomplish in 2017.</p>
<h2>2016 Review</h2>
<p>Please recall from our <a href="http://blog.openhub.net/2016/04/open-hub-in-2016/">2016 Review</a> what we did in 2015: rebuilt the UI, addressed spam account creation, improved back-end performance (5X in some cases), started inventing new security data features. The plan for 2016 was to create a new Project Vulnerability Report and Project Security Pages, run the Spammer Cleanup Program, virtualize the back end (the FISbot project), switch to Ohcount4J, connect to other sites related to OSS.  Here&#8217;s how we did:</p>
<ul>
<li>Invented the <a href="http://blog.openhub.net/about-pvr/">Project Vulnerability Report</a> algorithms and presentations</li>
<li>Prototyped Project Security Pages with the (now closed) security.openhub.net pages</li>
<li>Deployed FISbots and Ohloh Analysis onto virtual servers (this involved migration some 10TB of OSS project data from multiple servers to a single SAN)</li>
<li>Started running batches of accounts through the Spammer Cleanup Program.  To date, we&#8217;ve cleared out some 350,000 spam accounts (YAY!!)</li>
<li>Design and implemented a Prototype Project Security Page to report known vulnerabilities in OSS projects.  Collected user feedback from that experiment</li>
<li>Explored using Ohcount4J instead of Ohcount.  Decided to stay with Ohcount.</li>
<li>Added a feature to add an entire GitHub account to a single Open Hub project</li>
<li>Numerous back end improvements and defect resolutions to consistently delivery web pages under 200 ms (6X faster than 2015 on average)</li>
<li>Defended against a number of malicious attacks against our API service and web site (comes with the territory of running a non-trivial web application, amirite?)</li>
</ul>
<p>There&#8217;s more though!</p>
<p>The FISbot was implemented as a stop gap measure to address issues we had with the back end bare metal crawlers. We were waiting for another project to provide a central set of Fetch, Import, and SLOC services to the Black Duck enterprise. The plan was to shut down the FISbots and use this other service.  However, after deploying our FISbots, it was decided that we should expand the FISbot to handle the additional enterprise scenarios.  So, completely unplanned at the beginning of the year, we implemented the eFISbot Project, which we also delivered last year.</p>
<p>Last point: as we talked about in <a href="http://blog.openhub.net/2016/07/details-on-the-infrastructure/">Detail on the Infrastructure</a> post, the migration of that 10TB collection of OSS project data onto the production server ran into serious issues that forced us to re-fetch every one of the nearly 600K code locations we monitor.  This was a serious multi-month disruption, from which we have mostly entirely recovered.  We have re-fetched all the repositories, but there are lingering issues in getting all those repositories and corresponding projects refreshed in the 24 &#8211; 72 hour window we&#8217;ve set for ourselves.</p>
<p>So, in summary, we&#8217;ll add to our 2016 Review:</p>
<ul>
<li>Implemented and delivered eFISbot</li>
<li>Survived the treacherous NFS SNAFU and the Great Code Location ReFetch</li>
</ul>
<p>I feel it is also important that we mention again the passing of our friend and colleague Pugalraj Inbasekaran in February. I still feel his absence as an ache near my heart and miss him.</p>
<h2>2017 Plan</h2>
<p>We have a few main focuses for 2017</p>
<ol>
<li>Make the back end screamingly fast</li>
<li>Make it wicked easy to add projects from GitHub to the Open Hub and get data from the Open Hub into your GitHub pages</li>
<li>Continue the UI update with wider pages and more responsive layouts</li>
<li>Add new languages to Ohcount</li>
</ol>
<p>For that back end, we&#8217;ve been given permission to obtain a new set of servers.  Currently, the Open Hub runs off a single database (we&#8217;ve talked <a href="http://blog.openhub.net/2015/09/why-do-we-ask-for-your-phone-number/">about</a> <a href="http://blog.openhub.net/2015/10/github-performance-and-crawlers-oh-my/">that</a> <a href="http://blog.openhub.net/2015/10/were-a-bit-behind/">over</a> and <a href="http://blog.openhub.net/2016/04/open-hub-in-2016/">over</a> <a href="http://blog.openhub.net/2016/06/hey-hey-hey-whats-happening-today/">again</a>).  We&#8217;ve put in a purchase request for 2 database servers that have over 4X the CPU cores and 9X the RAM. One server will be the master and the other the replicate. These servers will support only Fetch, Import, SLOC and Analysis operations (write intensive) so, we&#8217;re calling this the FISA DB.  The current database will remain with the purpose of only presenting generated analysis (read intensive) through the Ohloh-UI application, so that will be the UI DB.  We are SO VERY EXCITED!!! SQUEEEEEE!!! Ah. Sorry; sorry. Please excuse the author (but it&#8217;s SOO exciting!)</p>
<p>As always, thank you so very much for being part of the Open Source Software community and your continued support of the Open Hub.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2017/01/open-hub-in-2017/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>It’s Time to Select Our 2016 Open Source Rookies</title>
		<link>https://blog.openhub.net/2016/12/its-time-to-select-our-2016-open-source-rookies/</link>
		<comments>https://blog.openhub.net/2016/12/its-time-to-select-our-2016-open-source-rookies/#comments</comments>
		<pubDate>Fri, 09 Dec 2016 16:01:50 +0000</pubDate>
		<dc:creator><![CDATA[Peter Degen-Portnoy]]></dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.openhub.net/?p=3304</guid>
		<description><![CDATA[Looking forward to this year’s Rookies and looking back at Rookies past This time of year is one of great anticipation at Black Duck. We are eagerly anticipating a very special delivery. A crew of helpers is busy putting together a list. It will be thoroughly checked and even checked twice. I wouldn’t say any [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter wp-image-3305" src="http://blog.openhub.net/wp-content/uploads/2016/12/RookiesBlog1-1024x213.png" alt="rookiesblog1" width="650" height="135" srcset="https://blog.openhub.net/wp-content/uploads/2016/12/RookiesBlog1-1024x213.png 1024w, https://blog.openhub.net/wp-content/uploads/2016/12/RookiesBlog1-300x63.png 300w, https://blog.openhub.net/wp-content/uploads/2016/12/RookiesBlog1-768x160.png 768w, https://blog.openhub.net/wp-content/uploads/2016/12/RookiesBlog1.png 1200w" sizes="(max-width: 650px) 100vw, 650px" /></p>
<h3>Looking forward to this year’s Rookies and looking back at Rookies past</h3>
<p>This time of year is one of great anticipation at Black Duck. We are eagerly anticipating a very special delivery. A crew of helpers is busy putting together a list. It will be thoroughly checked and even checked twice. I wouldn’t say any on this list are naughty – in fact, most are pretty good. But we’re looking for the ones that are really <i>really</i> nice.</p>
<p>I’m speaking, of course, about the candidate list for the Black Duck 2016 Open Source Rookies. Each year, we review the open source projects started during the last 12 months and recognize those that stand out because of their mission, community growth, and market impact. A lot of great software is being built using Open Source, as was demonstrated by the <a href="http://www.blackducksoftware.com/rookies" target="_blank">2015 Open Source Rookie Class</a>, and we’re looking forward to our review of this year’s candidates.</p>
<h2>You Can’t Win if You Don’t Enter</h2>
<p>I’ve previously written about <a href="http://blog.blackducksoftware.com/recognizing-this-years-open-source-rookies" target="_blank">how we select the Open Source Rookies</a> so I won’t go in to detail about it here. Suffice to say that it’s a thorough process that starts when we pull data from our open source project database, <a href="https://www.openhub.net/" target="_blank">OpenHub</a>. OpenHub allows open source project contributors and teams to aggregate data about their projects and communities. While this is not the only data source we use, the information in it helps us get a more complete picture of what’s happening with each project.</p>
<p>Here’s where you come in. Remember that Christmas when you didn’t write to Santa and instead of getting that cool new video game you got socks? This is kind of like that. If you participate in or know of a new open source project that deserves a place in the 2016 Open Source Rookies, it will significantly improve the project’s chances of being selected if it has been <a href="https://www.openhub.net/p/new" target="_blank">registered in OpenHub</a> by December 15th.</p>
<p><a href="https://www.openhub.net/p/new"><img class="aligncenter wp-image-3317 size-full" src="http://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2.jpg" alt="rookies-cta2" width="650" height="200" srcset="https://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2.jpg 650w, https://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2-300x92.jpg 300w" sizes="(max-width: 650px) 100vw, 650px" /></a></p>
<h2>A Look Back at Prior Rookies</h2>
<p>This will be the 9th year for Open Source Rookies and a quick look back shows you just how ambitious open source projects are, and how mainstream they have become. Of course, we’d like to think that these projects were helped, at least a little, by having been recognized as Back Duck Open Source Rookies. <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3>Hashicorp Vault – Class of 2015<img class="size-full wp-image-3307 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/hashicorp.png" alt="hashicorp" width="102" height="109" /></h3>
<h4>Rising Star with Open Source in its DNA</h4>
<p><a href="https://www.hashicorp.com/" target="_blank" rel="nofollow">https://www.hashicorp.com/</a><br />
We recognized <a href="https://www.hashicorp.com/" target="_blank" rel="nofollow">Hashicorp</a> last year for the launch of <a href="https://info.blackducksoftware.com/OpenSourceRookies2015.html" target="_blank">Vault</a>, a framework for securely storing, accessing, and managing secrets across an enterprise, but most people probably know them as the team behind the popular development environment management solution, <a href="https://www.vagrantup.com/" target="_blank" rel="nofollow">Vagrant</a>. 2016 has been a good year for Hashicorp, who in September announced a $24 million series B funding round led by GCV Capital and Mayfield fund. We’ll be watching for more news from them in 2017.</p>
<h3>Kubernetes – Class of 2014<img class="size-full wp-image-3308 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/kubernetes.png" alt="kubernetes" width="102" height="99" /></h3>
<h4>Container Orchestration at Scale</h4>
<p><a href="http://kubernetes.io/" target="_blank" rel="nofollow">http://kubernetes.io/</a></p>
<p>Google has been using containers for years to develop its current scale of technologies. At the summer 2014 DockerCon, the Internet giant open sourced a container management tool, <a href="http://kubernetes.io/" target="_blank" rel="nofollow">Kubernetes</a>, that was developed specifically to meet the needs of the exponentially growing Docker ecosystem. Since then use and development of Kubernetes has flourished and it has become the one of the most widely adopted orchestration solutions for management of large scale container-based deployments.</p>
<h3>Docker – Class of 2013<img class="size-full wp-image-3309 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/Docker.png" alt="docker" width="104" height="85" /></h3>
<h4>Has raised over $180M in venture funding</h4>
<p><a href="https://www.docker.com/" target="“_blank”">https://www.docker.com/</a></p>
<p>Docker was a clear stand-out for us back in 2013. Few projects outside the highly corporate-sponsored arena garner the level of excitement and attention that Docker did. While Docker was started by a small, commercial firm previously known as dotCloud, it quickly caused industry heavy hitters like RedHat and Google to take notice.  Docker has revolutionized the way teams build scalable applications for the cloud. Since launch, Docker has raised an impressive $180M in venture funding. Many expect them to reach unicorn status if they go public.</p>
<h3>Ansible – Class of 2012<img class="size-full wp-image-3310 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/Ansible.png" alt="ansible" width="140" height="140" /></h3>
<h4>Acquired by Red Hat in October 2015</h4>
<p><a href="https://www.ansible.com/" target="_blank" rel="nofollow">https://www.ansible.com/</a></p>
<p>Managing a large number of servers on site or in the cloud can be a complex, time-consuming task, but Michael DeHaan, founder of Ansible, didn’t think it had to be that way.</p>
<p>“System managers shouldn’t have to worry about lots of complicated syntax,” he said. With a simpler approach to system orchestration, part-time sys-admins can do what they need to do, getting in and out quickly. Apparently Red Hat agreed and acquired Ansible in October of 2015.</p>
<h3>Bootstrap – Class of 2011<img class="size-full wp-image-3311 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/Bootstrap.png" alt="bootstrap" width="121" height="101" /></h3>
<h4>Ubiquitous toolkit for responsive websites</h4>
<p><a href="http://getbootstrap.com/" target="_blank" rel="nofollow">http://getbootstrap.com/</a></p>
<p>Do you remember the dark days when most websites were designed and built to look great on a desktop monitor, but many of them were practically unusable if viewed on the small screen of a tablet or mobile phone? Mobile visitors now account for the majority of traffic on many websites so it’s important that your website be “responsive,” adapting to the different screen sizes while remaining usable and engaging. <a href="http://twitter.github.com/bootstrap" target="_blank" rel="nofollow">Bootstrap</a>, a toolkit originated by Twitter, has become the foundation of many responsive websites, with base CSS and HTML for typography, forms, buttons, tables, grids, navigation and more.</p>
<h3>NuGet – Class of 2011<img class="size-full wp-image-3312 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/NuGet.png" alt="nuget" width="121" height="139" /></h3>
<h4>Universal package manager for .NET development</h4>
<p><a href="https://www.nuget.org/" target="_blank" rel="nofollow">https://www.nuget.org/</a></p>
<p>NuGet is a free, open source developer-focused package management system for the .NET platform designed to simplify the process of incorporating third party libraries into a .NET application during development. Originally developed by developers from Microsoft and the .NET Foundation, it should come as no surprise that it has become a standard component of the development platform in many Windows-based software development environments.NuGet is now pre-installed as part of current versions of Microsoft Visual Studio.</p>
<h3>OpenStack – Class of 2010<img class="size-full wp-image-3314 alignright" src="http://blog.openhub.net/wp-content/uploads/2016/12/OpenStack.png" alt="openstack" width="115" height="107" /></h3>
<h4>Orchestration Framework for the World’s Largest Clouds</h4>
<p><a href="https://www.openstack.org/" target="_blank" rel="nofollow">https://www.openstack.org/</a></p>
<p>Originally developed as a collaboration between RackSpace Hosting and NASA, OpenStack is an open source, open standards platform for large scale cloud computing. Since 2010, OpenStack has grown tremendously and gained active support from over 500 companies, including industry giants like Oracle, HP, and Cisco. Many of the world’s largest clouds are build using OpenStack. If you use any cloud-based applications or services, it’s almost certain that some of them are running on OpenStack.</p>
<p>By any measure, that&#8217;s a pretty impressive list. Are there any projects launching this year that will have a similar impact on the software development industry? History suggests yes, and maybe it’s a project you are working on? If so, make sure it gets noticed by <a href="https://www.openhub.net/p/new" target="_blank">registering it on OpenHub</a>. Maybe you too can join this illustrious group of Rookies turned All Stars!</p>
<p><a href="https://www.openhub.net/p/new"><img class="aligncenter wp-image-3317 size-full" src="http://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2.jpg" alt="rookies-cta2" width="650" height="200" srcset="https://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2.jpg 650w, https://blog.openhub.net/wp-content/uploads/2016/12/Rookies-CTA2-300x92.jpg 300w" sizes="(max-width: 650px) 100vw, 650px" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.openhub.net/2016/12/its-time-to-select-our-2016-open-source-rookies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
