Joining the Mozilla Open Leaders Program

Reading Time: 2 min

(originally posted at Social Mind’s official blog)

A few days ago I received the great news that I was selected to participate to Mozilla Open Leaders program. The aim of the program is to train individuals or teams related to open projects, technology oriented or not. The training is about setting up an open project and help it evolve and, at the same time, curate an open community that will, hopefully, form around the project. The underlying goals of the program is, of course, working towards an open web and a healthy Internet.


(image available under CC BY 4.0 International by Mozilla)

The 5th round open Mozilla Open Leaders starts in approximately one week. There were 78 projects selected from 219 applications. They come from 25 different countries with more than 100 participants. Greece participates with 1 project.


Number of selected projects per country (in alphabetical order)

The proposal

WordPress platform has become a standard choice when it comes to Content Management Systems, published under Free/Libre Open Source Software (FLOSS) license. Moreover, a huge community built around it is responsible for more than 50.000 plugins, available also as FLOSS. Unfortunately not all WordPress plugins are “playing well” with each other, nor are properly maintained.

Our proposal aims in creating a platform which will crowd source experience on using or combining plug-ins in WordPress installations. In addition, with the application of state of the art software metrics, we will provide a preliminary study on the structure of the source code of the plug-ins. “WordPress Plugin Observatory” (WOPLOB) will be published as FLOSS  with the hope that, with the help of Mozilla Network, will evolve to a high quality community of WordPress users that will help to the development of the platform and the data collection.

At Social Mind we base most of our development in FLOSS, particularty in WordPress and Woocommerce. We would be delighted to manage and help the global FLOSS community with a successful platform that will, hopefully, make Internet more effective and safe.

Mozilla Foundation

With the motto “Internet must always remain a global, public resource open and available to everyone” Mozilla Foundation, a non profit organization, has for years supported FLOSS development, education with open tools and processes and has developed applications like the well known Firefox browser and Pocket. In addition, it has contributed to the study and education of Internet users in privacy related issues.

Software metrics’ tools and where to find them

Reading Time: 2 min

(last updated: February 4th, 2018)

There are several ways to analyze software. Depending on the scope we may be interested in the quality of the code, the documentation, the developer’s team and its activity and so forth. Here are some free software metric tools that can get you started with software analysis.

Tools for Static Program Analysis

Static program analysis refers to the analysis of the source code of a software rather than an analysis on an execution level.

  • PHPQA is a free, open source software project that supports a wide range of analyzers (e.g. phploc, pdeend, phpmetrics, etc.) for PHP. [demo]
  • Checkstyle, Findbugs and PMD  are free, open source software projects for Java, also available as plug-ins for the Eclipse and IntelliJIdea IDEs.

Didn’t find what you were looking for? You can try this exhaustive list of tools, grouped by programing language, maintained by Wikipedia.

Software Engineering Guidelines Compliance

  • Better Code Hub checks your code base for compliance against 10 software engineering guidelines – and gives you immediate feedback on where to focus for quality improvements. The tool can be used free for open source and non-commercial use.

Community Activity Analysis

Big software projects are usually built from several developers. Those teams or communities – for Open Source projects – are usually organized using a control versioning system (svn, git. etc.). Those control versioning systems are storing valuable data about the activity of those teams / communities the analysis of which can lead to very interesting findings.

  • GitsGtats – for projects using git-like environments (Github, Gitlab, etc.). [demo]
  • StatSVN – for projects using SVN. [demo]
  • Grimoire Lab – a very mature tool that can help with data gathering from several platforms (Github, Bugzilla, Slack channels, etc.), data analysis and visualization. [demo] NOTE: If you are interested in using Grimoire Lab for your own projects you can test the online service Cauldron.io (free for public projects on Github).

 

It’s not about Open Source

Reading Time: 2 min

Three days ago we celebrated 25 years from the birth of Linux. I have been an Open Source user for over a decate now and I consider myself lucky to be part of this awesome network.

Open Source gave me free access to applications that, have they been proprietary, I would need to pay good money or illegally obtain them. Open Source fueled my research when I was an undergrad computer science student and, later on, during my MSc and currently during my PhD endeavor. As a researcher it gave me the opportunity to be part of EU funded research projects and get paid to study what I love. As a freelancer it gave me the means to rapidly develop software and therefore deliver competitive, high quality and tested software to my clients. It also allowed me to do consulting work for a couple of amazing software development companies and startups.

Anyways, it was not until recently that I realized that it’s not about Open Source! I was invited as a guest speaker to an event of the Arcitecture Dept., Aristotle University of Thessaloniki. My mission was to present a short history of the free software movement / open source initiative and then present applications of open source to the arts / creative professions. I have never touched a similar area before so I tried to think as a creative professional (NOT easy, if you are a tech person!) and imagine how open source, open licenses and so forth could benefit my world.

After my experiment was over the following came in mind: Open Source helped the world get familiar with the concept of sharing the raw materials of a creation, plus know-how (if needed), allowing the community to take it to the next level. Initially, those creations were open source software and their raw materials the source code but, nowadays, we have moved past that. Books, music, video productions, hardware even games are being published under open licenses.

Supporting openness is a choice anyone can make. Following the philosophy of openness however is a whole different discussion. One that I will leave for another post 🙂

Happy birthday Linux! Happy birthday Open Source!

3 life lessons software metrics can teach us (and make good resolutions)

Reading Time: < 1 min

Happy new year everybody! In case you are looking for a couple of good resolutions to add to your 2016 list, here’s a bunch of geeky ones coming from software engineering research field 🙂

1. Keep your diff low

Diff (short for difficulty) is one of the Halstead complexity measures. It is used to measure the difficulty of the source code of a specific software system.

Moral: try to measure your difficulty level and keep it as low as possible. If you meet a difficult person, try to engage and understand how s/he thinks. It will help you identify you own difficulty level.

2. Keep your effort low

Effort is another Halstead complexity measure. As you probably already guessed it measures the effort one needs to understand the source code of a specific software system.

Moral: do you open up to people? Do you make it easy for them to understand how you think, where you come from? There is a fine line between mystery and perplexity. Make sure you balance them right.

3. Keep your LCOM low

LCOM (abrr. for Lack of cohesion of methods) is a Chidamber  & Kemerer metric measuring the cohesion of a class. High levels of the LCOM increases complexity. Also, classes with low cohesion could probably be subdivided into two or more subclasses with increased cohesion.

Moral: the more things you engage with, the less cohesive you are. Try to focus on the things that really matter.

Everything you need to know about WordPress 4.0, the Benny Goodman edition

Reading Time: < 1 min

Just updated to WordPress 4.0 and everything went smooth. I love the video mashup with the latest changes. It’s probably the best way to communicate the most important features to a WordPress fan 🙂

As you probably know, WordPress versions get their names from famous Jazz musicians and 4.0 is dedicated to one of my personal favorites, Benny Goodman. If you are like me and enjoy listening to swing music, I totally recommend the following duet of Benny Goodman and Peggy Lee.