Home Blog Page 319

Open Source Summit & ELC + OpenIoT Summit Europe Features 13 Co-Located Events

Make the most of your time at Open Source Summit/ELC + OpenIoT Summit Europe!

Over a dozen events taking place alongside Open Source Summit and ELC+OpenIoT Summit Europe offer attendees even more ways to increase skills and connections – all in one trip. 300 conference sessions, 2000 attendees, 13 co-located events and dozens of event experiences; if you’re not registered yet, now is the time.

REGISTER NOW »

Sign up to receive updates on Open Source Summit Europe:

Co-Located Events:

Embedded Apprentice Linux Engineer Track – Mon., Oct. 22 & Tues., Oct. 23*

Are you an Embedded Engineer who is transitioning to using Linux? Embedded Apprentice Linux Engineer is a series of 8 seminars over 2 days taught by a professional Embedded Linux Instructor with years of practical experience.

OpenChain Workshop – The Supply Chain Compliance Solution (Not A Blockchain) – Tues., Oct. 23

The OpenChain Project defines the key requirements for a quality open source compliance program through a single, simple specification. This workshop will feature the latest developments around supply chain compliance and provide an excellent opportunity for attendees to both learn from and contribute to the project work teams.

Hyperledger Scotland Meetup – Tues., Oct. 23

Hyperledger is an open source collaborative effort created to advance cross-industry blockchain technologies. It is a global collaboration hosted by The Linux Foundation and including leaders in finance, banking, IoT, supply chains, manufacturing and technology. Hyperledger Meetup groups have an informal relationship with Hyperledger, and make up a key part of the Hyperledger ecosystem.

LF Energy Summit – Wed., Oct. 24*

The inaugural LF Energy Summit will focus on creating a shared vision to accelerate and transform the world’s relationship with energy by including the perspectives of power systems engineers and executives with open source developers. Together, we will identify the best paths to building a vibrant ecosystem with specific and practical outcomes for next steps and technical groups where companies and individuals can contribute. Space is limited, register today.

Linux in Safety-Critical Systems Summit – Wed., Oct. 24

This summit will inform interested developers and users about the activities and plans to support the use of Linux in safety-critical systems, presenting developments in the SIL2LinuxMP project and work from others that are valuable to the project.

IoT Apprentice Linux Engineer Track – Wed., Oct. 24*

The I-ALE program introduces Linux engineers to a more deeply embedded platform and programming. This series of 3 seminars will introduce you to a small micro controller on a board with various input and output devices which will allow you to build an Internet-connected device you can hang on your wall.

Linux Security Summit (LSS) Europe – Thurs., Oct. 25 & Fri, Oct. 26*

The Linux Security Summit (LSS) is a technical forum for collaboration between Linux developers, researchers, and end users. Its primary aim is to foster community efforts in analyzing and solving Linux security challenges.

Zephyr Hackathon – “Get Connected”  – Thurs., Oct. 25

Includes a Zephyr orientation session and the chance to learn the tips and tricks of setting up a development environment and working with Zephyr. Note: Currently Full, Waitlist Only.

Tracing Summit  – Thurs., Oct. 25

The goal of the Tracing Summit is to provide space for discussion between people of the various areas that benefit from tracing, namely parallel, distributed and/or real-time systems, as well as kernel development.

Linux Media Summit  – Thurs., Oct. 25

The Linux Media Summit is the premier forum to discuss the Linux multimedia development for cameras, audio and video streaming devices, analog/digital TV support, remote controller and HDMI Consumer Electronics Control (CEC) at the Linux Kernel and its userspace APIs.

Yocto Project Dev Day Europe 2018  – Thurs., Oct. 25*

A one day, hands-on training that puts you in direct contact with Yocto Project technical experts and developers. Its primary goal is to show developers how to create custom-build Linux distributions for embedded devices by using layers and recipes designed to resolve incompatibilities between different configurations.

Real-Time Summit  – Thurs., Oct. 25*

The Real-Time Summit is organized by the Linux Foundation Real-Time Linux (RTL) collaborative project. The event is intended to gather developers and users of the PREEMPT_RT patch, providing room for discussion between developers, tooling experts, and users. 

FOSSology – Hands on Training  – Thurs., Oct. 25*

This hands-on training session will provide this understanding of FOSSology, an open source license compliance software system and toolkit.

This hands-on training session will provide this understanding of FOSSology, an open source license compliance software system and toolkit.

*Co-located events with an additional fee are denoted with an asterisk.

In addition to all these great co-located event offerings, we want to remind you of all the other experiences that the conference provides for attendees.

Sunday, October 21

Better Together Diversity Social

Monday, October 22

Diversity Empowerment Summit

First-time Attendee Breakfast

Sightseeing Bus Tour

Women in Open Source Lunch

Attendee Opening Reception at the National Museum of Scotland

Tuesday, October 23

Open Source Career Breakfast

Diversity Empowerment Summit

Speed Networking & Mentoring

Onsite Attendee Reception & Sponsor + Technical Showcase

5K Fun Run

Partner Reception – Invitation Only

Wednesday, October 24

Morning Meditation

Diversity Empowerment Summit

REGISTER NOW »

 

Linkerd 2.0: Service Ops for You and Me

In a microservices environment the service owner writes the code as well as increasingly is also responsible for keeping the service(s) they wrote up and running. We call that, very fittingly, service ops. To me, the service ops idea is really a kind of a subset of the appops moniker I’m subscribing to and advocating for. Now, how does that look like from a practical perspective?

With the cloud native appops maturity model in mind you start off with ensuring that you have all your code and configuration in a repo (Git, usually, nowadays). Then you want to have all your container images in a secure, private container registry such as Quay, for example. You make sure you have a proper CI/CD pipeline in place, producing said container images in a reproducible manner. Next, you’ll likely be using Kubernetes, the de-facto industry standard for orchestrating containers. …

Linkerd 2.0 helps you at this stage of the evolution. It is built with the Unix philosophy in mind, that is, it focuses on core service mesh responsibilities: system-wide telemetry, security, and reliability; here’s what’s in the box:

Read more at HackerNoon

Why Linux Users Should Try Rust

Rust is a fairly young and modern programming language with a lot of features that make it incredibly flexible and very secure. It’s also becoming quite popular, having won first place for the “most loved programming language” in the Stack Overflow Developer Survey three years in a row — 20162017, and 2018.

Rust is also an open-source language with a suite of special features that allow it to be adapted to many different programming projects. It grew out of what was a personal project of a Mozilla employee back in 2006, was picked up as a special project by Mozilla a few years later (2009), and then announced for public use in 2010.

Read more at Network World

Kubernetes 1.12 Improves Cloud-Native Security With TLS Bootstrap

The third major release of the open-source Kubernetes container orchestration system in 2018 is now out, providing users with a stable release of a key security feature that has been in development for two years, while previewing a new sandboxing isolation capability.

On Sept. 27, the Cloud Native Computing Foundation announced the general availability of Kubernetes 1.12. Among the highlights of the update is the stable release of TLS Bootstrapping, a security capability that developers have been working on for the past two years, since the release of Kubernetes 1.4 in 2016. For context, Kubernetes has only existed for four years.

“Security is a very nuanced complicated space,” Tim Pepper, senior staff engineer at VMware and release lead for Kubernetes 1.12, told eWEEK. “Things like the TLS Bootstrap where you’re having to set up certificates and certificate authorities, signing requests and all of that, that’s really tricky to get, right. So, it makes sense that it took some time.”

Read more at eWeek

Open FinTech Forum Offers Tips for Open Source Success

2018 marks the year that open source disrupts yet another industry, and this time it’s financial services. The first-ever Open FinTech Forum, happening October 10-11 in New York City, focuses on the intersection of financial services and open source. It promises to provide attendees with guidance on building internal open source programs along with an in-depth look at cutting-edge technologies being deployed in the financial sector, such as AI, blockchain/distributed ledger, and Kubernetes.

Several factors make Open FinTech Forum special, but the in-depth sessions on day 1 especially stand out. The first day offers five technical tutorials, as well as four working discussions covering open source in an enterprise environment, setting up an open source program office, ensuring license compliance, and best practices for contributing to open source projects.

Enterprise open source adoption has its own set of challenges, but it becomes easier if you have a clear plan to follow. 

Read more at The Linux Foundation

How Github Can Be The Most Powerful Ticketing Tool

 

U5dGvzyGgge2tjFkIr-DO5LN9ZT3mz5In_ijgqWD
How Github Can Be The Most Powerful Ticketing Tool

Compared to all other ticketing tools, GitHub Issues is the only platform giving entire freedom to define whatever types of labels you want. All other tools have an opinion on label types, such as priority, severity, component, epic, etc. Now if you consider that the number of GitHub public active repositories amounts now to 25 million at the end of 2017, and that, well, most of these public (understand open-source) projects are managed through GitHub, then you could be wondering if any best practices have emerged. Are there any unique best practices that cannot be applied to other tools? Should we all switch to GitHub to manage our projects there?

In the past few years, I’ve contributed to the development of two developer platforms – CodinGame and Tech.io. Together they total more than 1 million developers. I’ve recently co-founded another company, Anaxi with the mission of delivering actionable business intelligence for the whole software engineering organization. So, part of my job is identifying growing trends in software development tools. In other words, I think about this kind of thing quite a lot!

First, let’s analyze the 20 most popular open-source projects, how they are structured, and which labels they use.

Then, we will try to find common patterns, to help us understand when and how those best practices can be applied to your project.

Finally, we will compare with other existing project management tools, so you can decide whether GitHub is worth using as your project management tool.

The Top Projects on GitHub

We analyzed the 30 highest-velocity open-source projects on GitHub listed by the Linux Foundation, and selected what we felt were the most well-organized projects. We then analyzed the labels they used to organize their issues, and especially what we call their label categories.

What do we call a label category? Some labels show the following pattern: area/networking, area/hosting, area/backup. “area” is the label category for which there can be lots of labels.

Some projects use “/” to define categories, like in the example above, and others “:”, as Tensorflow and Angular do.

Here is the list of the projects we selected along with the label categories they use:

bAg94_Xfe0eqBPqMmZuEZ01diX17Px-KaTmxpBGd

By the way, did you notice that most projects are backed by big companiescorporations? Tensorflow and AngularJS by Google, React by Facebook, Moby by Docker, Ansible by RedHat and ElasticSearch by Elastic. In the list of 30 that we analyzed, 9 were backed by foundations and only 6 were not backed by an entity. We analyzed them all and kept the best-in-classes in terms of project organization, ending up with one for each (not on purpose): Kubernetes by CNCF (foundation), and DefinitelyTyped (not backed).

Ok, let’s deep dive and see what is interesting about this now.

The Patterns and Best Practices

We identified 7 different types of label categories that those projects were using. If you think it would make more sense to organize the categories differently, don’t hesitate to leave a response – we’re all ears. But here is our take on it.

Type or Kind:

In other project management tools, you would get bug, feature, task or subtask here. But as you can see, GitHub projects are able to expand far beyond this with experimental, discussion, technical-debt, failing-test, docs and much more. That could be interesting to any company. Right now, we generally put everything that is not a bug or feature as a task, but being able to specify what the ticket is should be valuable, whatever the size of your team.

Status/State or Triage/Resolution or Lifecycle:

We grouped these label categories together, as they all inform about the state of the ticket. But each one has nuances. That’s why Kubernetes uses all three – Status, Triage and Lifecycle. Triage and Resolution are used similarly; they explain how the ticket got to this Status/State. While Lifecycle describes the state of the ticket within its state, and has values as active, frozen, rotten, stale. If you have a large number of tickets to handle, this can become very handy, as you can have a process to resurface tickets or just stow them away to enable more focus on what matters.

Priority or Severity or Frequency or Workaround:

We put all four of them together, as they address the same overall issue. But there are important nuances as well. You could actually think that severity, frequency and workaround are 3 different topics that explain the priority better. And a better prioritization can have a massive effect on your business.

Component or Area or Feature:

These are used in a similar way, unlike most of the others. You won’t see a project using Component and Area or Feature, for instance. However, the interesting part is some projects use subcategories, such as area/platform/... or area/os/…, or just different label categories but for the same use, like browser:.. or cli:.. This enables you to have 2 levels of labels to define more precisely which part the code is really about. And within your team, you could have one person responsible for a subcategory, and another for a full category and all its subcategories. So, better delegation and accountability. This is especially helpful to big teams with big projects.

Difficulty or Size or Experience or Need:

This part is about what is required to solve this ticket. It can be time, experience or other dependencies. Other project management tools, like Pivotal Tracker, enable you to put estimates on tickets. The point here is that you can also add information about what level of experience is required for the ticket, which is pretty important for open-source projects. You will want newcomers to start with easy tasks. Angular also uses the label category “needs” with values such as breaking change, browser fix, docs, feedback, investigation, jquery fix, merging, more info, public api, review, squashing, test, work. It enables you to be more explicit about the work to be done to move the ticket forward. Typically, breaking change is very useful to know, so you can prepare the community or whole team for this change.

Milestone Related:

On GitHub, you can add milestones. But some projects add additional label categories related to milestones, such as milestone/needs-approval, milestone/needs-attention or milestone/removed. This creates opportunities to discuss and decide. Realistically, part of some weekly meetings could be dedicated to milestone/needs-attention. Ansible also uses labels with an indicator of the versions – affects_1.2, affects_2.3, etc – that the ticket can affect. This is pretty important when you have clients and customers using previous versions – forward compatibility issues – which is kind of every software unless it is a cloud-hosted SaaS product.

Pull Request Related:

GitHub is first and foremost used for code versioning, and therefore pull requests. Angular typically has the following label categories:

  • PR action: cleanup, discuss, merge, merge-assistance, review

  • PR state: WIP, blocked

  • PR target: master-only, master & patch, patch-only

Kubernetes has do-not-merge/  with values like blocked-paths, hold and work-in-progress.

This enables clarification of the reason for the state of the ticket. My personal feeling is that this doesn’t apply to most non-open-source software projects, though. Feel free to disagree!

So which ticketing tool is best?

First, let’s take note that any additional information you ask your team to provide is an extra effort for them. And if they don’t feel it is worth it, they will naturally not make the effort, and it will just be useless. So, if you’re considering editing your tools and processes, you’d better consider only what is worthwhile for your particular project.

Let’s take 3 different examples to illustrate the point. In no way do I claim that the points below apply to your particular case; only you know what would or would not work for your team.

If you’re a startup with less than 30 engineers

I would think expanding the type of tickets to documentation and refactoring still offers value. Your deployment processes shouldn’t be that complex, so you shouldn’t need any additional label possibilities around status and pull requests. Similarly, milestones shouldn’t hold many intricacies. Having the ability to detail frequency, severity and whether there is a workaround still holds value, but in a startup mode, you would rather maximize the time spent on the output  than on a clean process. Finally, the product shouldn’t be too complex for you to have several layers of components. So overall, the flexibility that GitHub offers is a nice-to-have, but clearly you can have very clean processes without it, by using other tools that offer better user experiences – like Trello, for instance.

If you have several teams working on several products

If you want to have some kind of visibility over all your projects, you’d better be using the same tool in all your teams if you want your team to build consistent reporting on top of it. I would think it is pretty similar to the startup case. It really depends on the team sizes.

If you have large teams working the same products

Typically, this would apply to any complex software, or actually open-source projects. In that case, all the points listed with the label categories apply. And any additional label category could add value. The point is no longer about individual output, but the best communication for the best collective output. That’s actually why a lot of enterprises build their own in-house ticketing tool, with little success. GitHub could be a great solution for them. However, there is a UX and visibility problem with GitHub, but it can be fixed. How? Read on.

But GitHub is missing a lot…?

In terms of project management features, GitHub doesn’t offer the best experience, although it has progressed a lot on this point lately. But we’re still missing quite a lot:

  • The interface lets you input labels as text; there is no picker. So you have to know the basic structure of the labels.

  • You cannot make any label required when you create an issue

  • Labels are great if you want to monitor the tickets assigned with them. You can’t do that on GitHub, unfortunately.

  • Visibility over your projects on GitHub is pretty absent, to be honest.

That’s why Jira is the most used tool across the world. You can partially customize your workflow (unfortunately not at the extent of GitHub); it offers a good enough UX to manage tickets on a day-to-day basis and a set of reports so you have some kind of visibility.

What if you could integrate GitHub and use your label categories as if they were part of GitHub initially (with pickers)? Then, you could also monitor the issues for each of those labels and get the visibility you were missing. Better yet, what about integration of GitHub and Jira, so if you are using GitHub for some projects and Jira for others, you could have one single interface for your reporting and get the visibility you need.

I hope this article will help you think about your processes and, more precisely, the labels you use.

3 Docker Compose Features for Improving Team Development Workflow

A developer today is bombarded with a plethora of tools that cover every possible problem you might have—but, selecting which tools to use is The New Problem. Even in container-land, we’re swimming in an ocean of tool choices, most of which didn’t exist a few years ago.

I’m here to help. I make a living out of helping companies adopt a faster and more efficient workflow for developing, testing, packaging, and shipping code to servers. Today that means containers, but it’s often not just the tool that’s important; it’s the way you use it and the way you scale it in a team.

For now, let’s focus on Docker Compose. It has become the de facto standard for managing container-based developer environments across any major OS. For years, I’ve consistently heard about teams tossing out a list of tools and scripts this single tool replaces. That’s the reason people adopt Compose. It works everywhere, saves time, and is easy to understand.

Read more at O’Reilly

Blockchain Development Made Easy: Getting Started with Hyperledger Iroha

Our ‘Blockchain development made easy’ series continues with Hyperledger Iroha, a simple blockchain platform you can use to make trusted, secure, and fast applications. What are the advantages and how can developers get started with it? We talked to Makoto Takemiya, co-founder and co-CEO of Soramitsu about what’s under this project’s hood.

JAXenter: Is Hyperledger Iroha some sort of supplement to Fabric and Sawtooth? How does that work?

Makoto Takemiya: Hyperledger Iroha is an open-source, distributed ledger supported by an open source community of developers. Hyperledger Iroha has its own technical properties and vision that is equally important to the vision and technical characteristics of other blockchain platforms governed by the Hyperledger Project, run by the Linux Foundation. There are numerous use cases and different applications, so all platforms are important for the users to be able to test and select the blockchain platform that performs best in their specific use case.

Iroha contributes to the diversity of the Hyperledger frameworks. Hyperledger Iroha is written in C++ and has a small set of commands and queries focused on enabling financial applications, digital asset management, and digital identity use-cases for enterprises of any size.

Read more at Jaxenter

The State of Machine Learning in Business Today

Artificial Intelligence (AI), Machine Learning, and Deep Learning are all topics of considerable interest in news articles and industry discussions these days. However, to the average person or to senior business executives and CEO’s, it becomes increasingly difficult to parse out the technical differences which distinguish these capabilities. …

I met last week with Ben Lorica, Chief Data Scientist at O’Reilly Media, and a co-host of the annual O’Reilly Strata Data and AI Conferences. O’Reilly recently published their latest study, The State of Machine Learning Adoption in the Enterprise. Noting that “machine learning has become more widely adopted by business”, O’Reilly sought to understand the state of industry deployments on machine learning capabilities, finding that 49% of organizations reported they were exploring or “just looking” into deploying machine learning, while a slight majority of 51% claimed to be early adopters (36%) or sophisticated users (15%). Lorica went on to note that firms identified a range of issues that make deployment of machine learning capabilities an ongoing challenge. These issues included a lack of skilled people, and ongoing challenges with lack of access to data in a timely manner.

Read more at Forbes

How to Create SSH Tunneling or Port Forwarding in Linux

SSH tunneling (also referred to as SSH port forwarding) is simply routing local network traffic through SSH to remote hosts. This implies that all your connections are secured using encryption. It provides an easy way of setting up a basic VPN (Virtual Private Network), useful for connecting to private networks over unsecure public networks like the Internet.

You may also be used to expose local servers behind NATs and firewalls to the Internet over secure tunnels, as implemented in ngrok.

SSH sessions permit tunneling network connections by default and there are three types of SSH port forwarding: localremote and dynamic port forwarding.

In this article, we will demonstrate how to quickly and easily setup a SSH tunneling or the different types of port forwarding in Linux.

Read more at Tecmint