EOF - Open-Source Use Accelerates Software Development
Many software developers share some common traits. Besides copious caffeine and creative work schedules, developers like working on interesting, new problems. They like to be as efficient and productive in their work as possible. They never want to start from scratch either; they prefer to cut, paste, modify and extend.
The best developers today are the ones that can most effectively find, assemble and then optimize re-usable software components—whether those components are open source or were developed within their own organization. A developer's skill with Google and SourceForge is now as important as his or her knowledge of software architecture and implementation.
This new “assembly” model is fundamentally changing the way software is designed and developed. It accelerates development, improves software quality and reduces costs. In short, it's changing everything.
Software now consists of a mix of company-owned code, open-source and commercial libraries, and code provided by outsourcers. By combining external components with their proprietary technology, companies create a set of mixed intellectual property, or mixed-IP assets. Best practices for managing software licensing in this new mixed-IP environment are now emerging.
All software—whether commercial or open source—carries licensing obligations that companies must comply with. This new, mixed-IP environment adds complexity to the process by mixing together licenses of all kinds. Managing these licenses and their restrictions needs to be done correctly in order to keep companies—and individual developers—out of trouble.
Following is a set of software compliance management “best practices” that were developed through discussions I've had with companies that are best in the world at leveraging this new environment:
Re-use existing components—to lower development costs, accelerate time to market, improve quality and reduce business risk, use existing internal and external components wherever appropriate. Explicitly consider functionality, performance, reliability, maturity, risk, sensitivity and license obligations.
Track and control changes to internal components—to establish and maintain the provenance of all internal components, to identify and protect critical IP and to avoid inadvertent violations of licenses, trademarks, patents, copyrights and trade secrets. Track internal component creation and modification and control the modification of those that are sensitive.
Control re-use of sensitive or external components—to avoid last-minute surprises, guesswork, compromises and risk-taking, and to prevent the loss of intellectual property and facilitate timely and effective remediation. Review and approve the use of any external or sensitive internal components or fragments in a project.
Verify every build and release—to assure prompt discovery of materials inadvertently included in a project and unapproved or precluded modifications to components. Identify and remediate all unapproved components or fragments and changes made to any of those components. Record the metadata for all external components in the associated bill of materials.
Review compliance at project phase transitions—to prevent loss of intellectual property and to assure prompt discovery of new components inadvertently included in the project. At major development milestones, verify that no unapproved components are used in the project or were changed and then used. Review the license obligations of all external components used in the project and ensure compliance with them.
Control component contribution and disposition—to avoid license violations and the attendant disruptions and to constrain the propagation of risky software. Before contributing any component or fragment to an open-source project or transferring ownership to another party, assess the sensitivity of that material. Verify your rights to make that contribution or transfer.
Assess software components before acquisition—to prevent negative post-acquisition surprises. Before buying a software component, identify all internal and external components used in that asset. Identify all external components used in any active project and assess their license obligations with respect to compliance, business objectives and legal policies. Assess the impact of any required rework or change on cost, revenue, quality and so forth.
These best practices encourage the use of open source and re-use of software components, while assuring compliance with license obligations. They also protect an organization's intellectual property assets. In addition to adopting these best practices, many organizations are using commercially available automated solutions as platforms on which to establish and manage these processes.
Open-source software and component re-use are here to stay. Now is the time for companies to begin thinking about how they will alter their management of software IP so they can capitalize on this new development model. By doing so, they will get ahead of the issue and put the power of open source to work for their organizations.
Palle Pedersen is CTO of Black Duck Software, the leading provider of software compliance management solutions (www.blackducksoftware.com).
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.
Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.
Sponsored by ActiveState
| Non-Linux FOSS: libnotify, OS X Style | Jun 18, 2013 |
| Containers—Not Virtual Machines—Are the Future Cloud | Jun 17, 2013 |
| Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer | Jun 12, 2013 |
| Weechat, Irssi's Little Brother | Jun 11, 2013 |
| One Tail Just Isn't Enough | Jun 07, 2013 |
| Introduction to MapReduce with Hadoop on Linux | Jun 05, 2013 |
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Validate an E-Mail Address with PHP, the Right Way
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
- Weechat, Irssi's Little Brother
- New Products
- Developer Poll
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




2 hours 36 min ago
3 hours 22 min ago
3 hours 32 min ago
3 hours 37 min ago
5 hours 47 min ago
5 hours 48 min ago
6 hours 33 min ago
7 hours 22 min ago
7 hours 45 min ago
9 hours 22 min ago