Technical Debt: How Do You Unfork a Fork?

filled_cirle_point_style_graph

Everyone knows how to fork that interesting open source project, it’s simple and handy to do. What’s not so easy to do is to merge back a fork that has over the years taken on a life of its own and for many reasons has diverged drastically from the original repo.

This is a case study of an ongoing project we are doing with SWT XYGraph, a visualisation project that is now part of Eclipse Nebula. It is the story of a fork of SWT XYGraph maintained by Diamond Light Source, the UK’s national synchrotron. But mostly it is a story about the efforts to merge the fork, reduce technical debt, and work towards the goal of sharing software components for Science, a key goal of the Eclipse Science Working Group. Continue reading “Technical Debt: How Do You Unfork a Fork?”

Why You Should Send Flowers To Open Source Developers

IMG_1182

You are probably thinking flowers are dumb: they die and they don’t do anything; they are for dates, weddings and funerals. Besides, open source developers do not need flowers, they need money. But nobody wants to pay for software, let alone open source software. Even though today open source software is as vital as roads and bridges, nobody wants to pay to maintain it.

So by all means let’s figure out a way to get more money for open source developers. But in the meantime, here’s why you should still send flowers.

  1. Flowers show appreciation

Taskwarrior share some great lessons learnt for open source maintainers. This includes cautionary tales like: “People will pick a fight with you about all your incidental choices. Your issue tracker, your branching strategy, your version numbers, the text editor you use, and so on.” Open source developers are a tough bunch, but are still likely to suffer from burnout. Sending flowers is the ultimate gesture of positivity and understanding. Plus there is all sorts of research out there that suggests flowers & plants improve mood and promote creativity in the workplace.

  1. People think you are more capable & emotionally intelligent

If altruistic reasons are not enough, then consider this. The act of giving flowers has benefits for the giver. The act of giving makes people happy. There is also research that says people who send flower are perceived as having higher emotional intelligence, capable and courageous.

  1. You will be a better leader

Small things can make all the difference. This idea is partly inspired by my favourite blogger, who wrote about the effect receiving flowers from Marc Benioff, CEO of Salesforce had on her. Basically really good leaders are always thinking of thoughtful ways to get the best out of everybody.

OK so now I have a confession to make. Maybe I am telling you this because Kichwa Coders have recently joined the realm of open source maintainers, heading up and contributing to the January project  (numpy & datastructures for Java). And we are gearing up, together with the rest of the Eclipse Science Working Group, for our first major science release. It is an amazing project that will provide tool infrastructure for countless scientific projects. So it will be awesome, but there is still some trepidation when you cross the threshold from open source user to open source maintainer. It is a little bit like how when you have your own kids, you finally really appreciate your parents and wonder how they did it. Right now I am in awe of open source leads and maintainers everywhere. So just do it. Send flowers to open source developers. And while you’re at it, send some to your parents too.

“Hello World!” – One Small Step for Python Scripting in Eclipse

helloworld

We are excited to be able to run a ‘hello world’ command using EASE and CPython in Eclipse (quickly followed by running the ‘Zen of Python’ for good measure :). It is the first key stage of proving our approach of using Py4J as the enabling technology to getting scripting available with EASE for Eclipse. It is a small step, but a significant leap towards unprecedented automation, dramatically easier Eclipse extensions and powerful third-party library integration using Python. Continue reading ““Hello World!” – One Small Step for Python Scripting in Eclipse”

Kichwa Coders Join Eclipse Science Working Group Steering Committee

Kichwa Coders is pleased to announce that we have become a member of the Steering Committee of the Eclipse Science Working Group. Kichwa has been an active member of the Science Working Group from the beginning and its involvement includes:

  • Leading projects related to Python scripting in Eclipse EASE
  • Organizing Eclipse community meetups in London (join us for our next one!)
  • Jonah Graham is project co-lead for the January Project for common data structures.
  • Tracy Miranda is on the Program Committee promoting the Science track for Eclipsecon France

Tracy Miranda will represent Kichwa Coders as the Steering Committee participant. The current Steering Committee is made up of members from IBM, Diamond Light Source, Oakridge National Labs and Itema. Kichwa Coders look forward to working closely with other Steering Committee members to shape the future direction of the group and encourage other organizations to participate in this vibrant ecosystem where advancing open-source software advances science.

Introducing Project January

A new project proposal from the Eclipse Science Working Group (SWG) goes live. Project January aims to provide a set of standardized Java-based numerical data structures for scientific computing. Scientific tools are rapidly scaling to meet the increasing demands of the user both in sheer volumes of data as well as complexity. Back at a site meeting in Trondheim, the SWG members agreed a generic dataset that would promote tool integration was one of the key priorities of the group. In the short-term, this looks a lot like “numpy for Java”. That in itself is a pretty big deal, but the future plans are equally exciting, check out the proposal here.

As for the name, project January works on many levels. Besides being the month the project proposal goes live, it is also an acronym: JAva NUmerical ARraYs :-). The month January is named after the Roman god Janus, god of new beginnings and doorways. Project January is a foundational building block of scientific computing and certainly a doorway to greater collaboration and tool integration within the Eclipse community and beyond.