Home Blog Page 603

What Is Open Source Software?

What is Open Source Software? Most of us think we already know, but in fact, there are a number of interpretations and nuances to defining Open Source.

This is the first article in a new series that will explain the basics of open source for business advantage and how to achieve it through the discipline of professional open source management.  (These materials are excerpted from The Linux Foundation Training course on professional open source management. Download the full sample chapter now.)

Defining “Open Source” in common terms is the first step for any organization that wants to realize, and optimize, the advantages of using open source software (OSS) in their products or services. So let’s start by defining what we mean when we talk about open source.

What we mean when we talk about OSS

When people talk about Open Source, they often use the term in a number of different ways. Open Source can be a piece of software that you download for free from the Internet, a type of software license, a community of developers, or even an ideology of access and participation.

Although these are all aspects of the Open Source phenomenon, there is actually a more precise definition:

Open Source Software (OSS) is software distributed under a license that meets certain criteria:

1. It is available in source code form (without charge or at cost)

2. Open Source may be modified and redistributed without additional permission

3. Finally, other criteria may apply to its use and redistribution.

Official definitions of OSS

The most widely accepted definition for Open Source Software comes from the Open Source Initiative (OSI). The OSI website also lists a number of licenses that have been reviewed and found compliant with the definition, but there are additionally many licenses currently in

circulation that meet these criteria.

The Free Software Foundation, for its part, prefers the term “Free Software” and a much simpler definition, but “Open Source” is compatible with and includes “Free Software.” Sometimes, these terms are combined as “FOSS” – Free and Open Source Software.

What OSS is not

Now, there are also other kinds of downloadable software that are not Open Source, and they must be accounted for. These other types of software include:

● Shareware or Free Trialware, which is downloadable software with commercial terms that actually can involve payments under various circumstances

● There is also any other software that does not allow free re-distribution as part of another program, like, perhaps, one of your organization’s products.

Now that we’ve established what open source software is in common terms, we can move on to the business case for using open source software. Next week, we’ll discuss how and why OSS can be used for business advantage. And in the following articles, we’ll cover more open source basics including the operational challenges and risks for companies using OSS, common open source management techniques, open source licensing, and more.

Open source software management

Read more:

Using Open Source Software to Speed Development and Gain Business Advantage

6 Reasons Why Open Source Software Lowers Development Costs

Agile and DevOps: Better Together?

Organisations across Europe believe that using an Agile methodology for software development can vastly improve the customer experience, while using DevOps can boost revenue from new sources.

A new report commissioned by software company CA said that 67 percent of UK organisations using an Agile methodology saw an improvement in customer experience, while firms using DevOps practices report a 38 percent increase in business growth from new revenue sources.

Other highlights include a 42 percent increase in employee productivity using Agile, while DevOps yields even better results with a 51 percent increase.

Read more at ZDNet

NorNet: An Open Source Inter-Continental Internet Testbed

With new devices and applications creating interesting use cases for IoT, smart cities, vehicle networks, mobile broadband and more, we are creating new ways to use networked technologies, and we need to be able to test these in realistic settings across locations. In his LinuxCon Europe talk, Thomas Dreibholz, Senior Research Engineer at Simula Research Laboratory talked about how they are building NorNet using open source software as an inter-continental Internet testbed for a variety of networked applications.

Dreibholz talked about two concepts underlying the NorNet project, multi-homing and multi-path transport. Multi-homing is designed to make the network more robust by connecting to multiple ISPs at the same time to provide multiple interfaces (addresses) and redundancy for continuous communication, even when some paths fail. Multi-path can make more efficient use of multi-home to utilize paths simultaneously for better throughput using Multi-Path TCP (MPTCP) or Concurrent Multi-Path Transfer for SCTP (CMT-SCTP). 

Unfortunately, CMT-SCTP is not available for Linux, so if you want to use CMT-SCTP Dreibholz recommends using FreeBSD; however, MPTCP is available for Linux. While it isn’t yet in the mainline kernel, it has an active community and can be downloaded from the Université catholique de Louvain. The downside is that you need to compile it yourself, and you’ll need to spend a bit of time thinking about how the routing should be configured to take advantage of MPTCP. 

The wired part of NorNet Core has 21 sites. Although 11 of the sites are in Norway, the other 10 are geographically distributed, with four in Germany, two in China, and others distributed all over the world. Sites span from Longyearbyen — about 1,200 kilometers away from the North Pole — to a southern site in Sydney, Australia.

Things can go wrong with experimental software and as a result of Murphy’s Law, things will go wrong, Dreibholz says. With sites in hard to reach locations, they are using KVM-based virtual machines running on a very lightweight installation of Ubuntu Server Linux that allow them to replace or reinstall VMs with misbehaving software without needing someone physically present at the site. 
 
For more details about all of the many technologies used in the NorCore testbed or to learn more about getting access to use the testbed for your experiments, watch the entire talk below!

Interested in speaking at Open Source Summit North America on September 11 – 13? Submit your proposal by May 6, 2017. Submit now>>


Not interested in speaking but want to attend? Linux.com readers can register now with the discount code, LINUXRD5, for 5% off the all-access attendee registration price. Register now to save over $300!

Software-Defined Storage Opens Up: 10 Projects to Know

Throughout 2016, the SDS (Software-Defined Storage) category achieved many new milestones and became increasingly tied to successful cloud deployments. With SDS, organizations can manage policy-based provisioning and management of data storage independent of the underlying hardware. They can also deploy free and open source SDS solutions. Many people are familiar with Ceph and are leveraging it within their OpenStack deployments, but Ceph is far from the only relevant open source SDS project.

A market research report from Gartner predicted that by 2019, 70 percent of existing storage array solutions will be available as a “software only” version. The research firm also predicted that by 2020, 70 percent to 80 percent of unstructured data will be stored in less expensive storage hardware managed by SDS systems.  

Just recently, Dell EMC joined the OpenSDS Project, of which The Linux Foundation is the steward. The OpenSDS community seeks to address software-defined storage integration challenges with the goal of driving enterprise adoption of open standards. It comprises storage users and vendors, including Fujitsu, Hitachi Data Systems, Huawei, Oregon State University and Vodafone. The project also seeks to collaborate with other upstream open source communities such as the Cloud Native Computing Foundation, Docker, OpenStack and Open Container Initiative.

According to the Open SDS project’s home, 2017 will be a milestone year for SDS: “The community hopes to have an initial prototype available in Q2 2017 with a beta release by Q3 2017. The initial participants expect OpenSDS will leverage open source technologies, such as Cinder and Manila from the OpenStack community, to best enable support across a wide range of cloud storage solutions.”

Meanwhile, the number of projects in the SDS category is ballooning. They range from Apache Cassandra to Ceph. The Linux Foundation recently released its 2016 report “Guide to the Open Cloud: Current Trends and Open Source Projects,” which provides a comprehensive look at the state of open cloud computing, and includes a section on SDS. You can download the report now, and one of the first things to notice is that it aggregates and analyzes research, illustrating how trends in containers, SDS, and more are reshaping cloud computing. The report provides descriptions and links to categorized projects central to today’s open cloud environment.

In this series of articles, we are calling out many of these projects from the guide, providing extra insights on how the categories are evolving. Below, you’ll find a collection of several important SDS projects and the impact that they are having, along with links to their GitHub repositories, all gathered from the Guide to the Open Cloud:

Software-Defined Storage

Apache Cassandra

Apache Cassandra is a scalable, high-availability database for mission-critical applications. It runs on commodity hardware or cloud infrastructure and replicates across multiple data centers for lower latency and fault tolerance. Cassandra on GitHub

Ceph

Ceph is Red Hat’s distributed, highly scalable block, object, and file storage platform for enterprises deploying public or private clouds. It’s commonly used with OpenStack. Ceph on GitHub

CouchDB

CouchDB, an Apache Software Foundation project, is a single-node or clustered database management system. It provides a RESTful HTTP API for reading and updating database documents. CouchDB on GitHub

Docker Volume Plugins

Docker Engine volume plugins enable Engine deployments to be integrated with external storage systems and enable data volumes to persist beyond the lifetime of a single Engine host. Volume plugins exist for multiple external storage systems including Azure File Storage, NetApp, VMware vSphere, and more. You can find individual plugins on GitHub.

GlusterFS

Gluster is Red Hat’s scalable network filesystem and data management platform. It can deploy on-premise, in private, public, or hybrid clouds, and in Linux containers for media streaming, data analysis, and other data- and bandwidth-intensive tasks. GlusterFS on GitHub

MongoDB

MongoDB is a high performance document database designed for ease of development and scaling. MongoDB on GitHub

Nexenta

NexentaStor is a scalable, unified software-defined file and block storage service that includes data management functionality. It integrates with VMware and supports Docker and OpenStack. Nexenta on GitHub

Redis

Redis is an in-memory data structure store, used as database, cache and message broker. It supports multiple data structures and has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence. Redis on GitHub

Riak CS

Riak CS (Cloud Storage) is object storage software built on top of Riak KV, Basho’s distributed database. It provides distributed cloud storage at any scale, and can be used to build public or private cloud architectures or as storage infrastructure for heavy-duty applications and services. Its API is Amazon S3 compatible and supports per-tenant reporting for use cases involving billing and metering. Riak CS on GitHub

Swift

Swift is OpenStack’s object storage system designed to store and retrieve unstructured data with a simple API. It’s built for scale and optimized for durability, availability, and concurrency across the entire data set. Swift on GitHub

Learn more about trends in open source cloud computing and see the full list of the top open source cloud computing projects. Download The Linux Foundation’s Guide to the Open Cloud report today!

NorNet — Building an Inter-Continental Internet Testbed Based on Open Source Software

Thomas Dreibholz, Senior Research Engineer at Simula Research Laboratory, describes how his team is using open source software to build NorNet  — an inter-continental Internet testbed for a variety of networked applications.

Introducing Docker Secrets Management

A critical element of building safer apps is having a secure way of communicating with other apps and systems, something that often requires credentials, tokens, passwords and other types of confidential information—usually referred to as application secrets. We are excited to introduce Docker Secrets, a container native solution that strengthens the Trusted Delivery component of container security by integrating secret distribution directly into the container platform.

Read more at Docker

Baidu’s Deep Learning Framework Adopts Kubernetes

PaddlePaddle, Baidu’s open source framework for deep learning, is now compatible with the Kubernetes cluster management system to allow large models to be trained anywhere Kubernetes can run.

This doesn’t simply expand the range of systems that can be used for PaddlePaddle training; it also provides end-to-end deep learning powered by both projects.

Read more at InfoWorld

Taking Control of the Programmable Network

Analytics plays a key role in digital-ready networks. It reveals rich contextual insights about users, applications, devices, and threats. This helps organizations and their IT professionals make more informed decisions. To make this happen, however, organizations must do two things. First, they must liberate IT time and resources by automating daily networking tasks, which makes room to focus on business innovation. Hence the willingness to take up SDN and NFV.

Second, organizations must build key programming skills in their network engineers.

Read more at SDx Central

How to Speed up Your Apache Web Server and Your Website Page Speed

In today’s fast-paced online world, speedy loading times are almost considered to be a given. Websites that take a long time to load or lag in between pages are often left behind by the vast majority of Internet users, which is why optimizing this aspect of the visitor’s experience is essential for long-term success.

Apache, currently one of the world’s most widely-used web servers, was not expressly designed to set benchmark records, but it can nevertheless handle an impressive number of requests from remote clients and provide a high level of performance if administrators take the time to implement the following five tips and tricks:

1. Always keeping Apache updated to its latest version

Like any piece of software, Apache will work best if upgraded to its latest version. Everything from bug fixes to general improvements will be included in these updates, so it’s worth taking the time to download and install them for your system of choice.

2. Upgrading to a newer version of Kernel

From 2.4 onwards, Kernel supports a sendfile system that allows for high performance network transfers, therefore enabling Apache to deliver static content much faster. For this reason, it pays to upgrade as soon as possible, even if the actual process isn’t exactly friendly for beginners and requires a bit of in-depth knowledge about the internals of Linux. 

3. Choosing a Multi-processing Module that works for you

Multi-processing modules allow you to decide how to configure the web server, an important functionality that cannot be neglected at an admin level. Apache currently offers three MPMs to choose from. There’s the “prefork”, the “worker” and the “event”. Study each to get to know their respective advantages and disadvantages, and then choose the one that works best for your particular situation.

4. Allocate the appropriate amount of RAM

Out of all the hardware items that must be taken into account when optimizing your Apache process, RAM is by far the most important. While you cannot control RAM directly, you can limit the number of child processes through the MaxRequestWorkers directive, which will set a limit on RAM usage by Apache. Be sure to always keep RAM usage within limits and never rely on swap because it negatively impacts performance levels.

5. Know your applications

Finally, in order to avoid overburdening your system, be sure to refrain from loading any Apache modules that are not strictly necessary for your application to work. In order to do this, you’ll need to know which applications are running on your server, and disable the modules using the procedures for CentOS and Debian respectively.

As you can see, the aforementioned five tips can make a massive difference when it comes to increasing your Apache web server’s performance. Of course, optimizing performance without also increasing website safety is pointless, so take care to implement adequate security measures as well.

Now, if you are like the vast majority of website owners these days, you probably have your own site on platforms like WordPress, Drupal, Joomla, Magento or SITE123. These were all designed to be as SEO-friendly as possible, but that doesn’t mean they are immune to slow loading times. As always, a badly-run page can be seen as a sign of unprofessionalism, regardless of which website platform you use. So be sure to boost your site’s load speed by employing these essential strategies:

· Use a CDN (Content Delivery Network)

· Use a caching plugin

· Add Expires headers to leverage browser caching

· Clean up your database

· Compress your website with gzip

· Fix all broken links

· Reducing Your redirects

· Minify your CSS and JS files

· Replace PHP with static HTML where possible

· Link to your stylesheets, don’t use @import

· Specify image dimensions

· Put CSS at the top and JS at the bottom

· Disable hotlinking of images

· Switch off all plugins you don’t use

· Minimize round trip times (RTTs)

That concludes our quick rundown of the most important things you can do to boost the loading speed of your website or blog. Nowadays especially, with mobile Internet usage becoming the norm, people are becoming less patient with sites that take forever to load. So make sure that you do everything in your power to keep your website running smoothly and efficiently, and you’ll quickly reap the rewards of your efforts.

What’s The Best Path To Becoming A Data Scientist?

There’s a lot of interest in becoming a data scientist, and for good reasons: high impact, high job satisfaction, high salaries, high demand. A quick search yields a plethora of possible resources that could help — MOOCs, blogs, Quora answers to this exact question, books, Master’s programs, bootcamps, self-directed curricula, articles, forums and podcasts. Their quality is highly variable; some are excellent resources and programs, some are click-bait laundry lists. Since this is a relatively new role and there’s no universal agreement on what a data scientist does, it’s difficult for a beginner to know where to start, and it’s easy to get overwhelmed.

Read more at Forbes