Please take 3 minutes to watch this short video where 25 Allevo-ers share some quick thoughts on the FinTP opensource project.
Month: January 2014
Friday, January 24th: we successfully checked another box on the list of steps to take towards turning FinTP project into success. And that was publishing the FinTP code. Now the source code is available on GitHub and you can also find the releases here, on FINkers United community webpage.
This called for a celebration event, so we organized one. The Athenée Palace Hilton’s Le Diplomate ballroom was filled with people on Friday. Partners, friends, people we met for the first time, numerous professionals from the financial, banking and IT industries, all gathered for our official announcement.
So I take this occasion to thank all the participants for joining us and making the FinTP launch a memorable moment. To see how memorable, check out the photos in our Facebook album.
We appreciated all the cheers, congratulations and good thoughts we have received, as well as all the advices and concerns. We hope we addressed all of the latter, though.
Now we are off to the next step, a very important one for the success of the FinTP project, the consolidation of the community around it, FINkers United. Friday’s event was a great occasion for the financial thinkers agora to gain more experienced members, as Corina Mihalache, Allevo new CEO launched an open invitation for participants as well as all players in the financial and IT industries to join and help us develop an active community, one that will empower transparent and efficient collaboration, in a secure environment, with respect for business ethics. And all this for the ultimate goal to bring financial interoperability to a whole new standard.
I would like to renew that invitation here. Join FINkers United. Together we can create innovative platforms, share them with the world and inspire new generations.
For more information, please navigate through the community web page: fintp.org. And feel free to contribute.
The period from about 1760 to sometime between 1820 and 1840 marks a turning point in history. The entire world as it was known changed so drastically that today it is seen as the biggest leap forward taken by humanity. Day to day life, communication between individuals and society evolved in a few decades more than it had done in centuries. That leap was called the Industrial Revolution.
Today we are witnessing the dawn of a new revolution that again, rocks the very foundation of our technology. This Industrial Revolution v2.0 is also known as the Open Source revolution. But what is “Open Source”, a term very common today in tech blogs, magazines and forums? What does Linux, Android, Apache and other open source projects have in common? Although it’s a very strong presence in today’s news the concept of open source is not a new one. It started in academic circles during the beginning of the computer age as universities were the first ones to have access to the newest computers and had to write their own software. As one of the main principles of academic research is the sharing of information, programmers would write their applications and make them and their code available to everyone. Then, other programmers would pick the source code, modify it to their needs and share the modifications with everyone who had interest in the applications. This culture of sharing allowed applications to be developed and ported to almost every platform available. Even commercial entities who sold software offered the source code with the product and encouraged users to make modifications and send them back. Then, as it is now, security was an important aspect of software. Even though the notion of networks was still in its infancy programmers would read the source code and look for bugs, security holes or backdoors. This practice has evolved today into one of the strongest reasons to embrace open source software as due to the transparent nature of the development and the code itself any security concern can be found and fixed in a time frame so small that no proprietary software can compete with.
Over the years computers go beyond the academic area and slowly enter into our life. As more and more people gain access to computers and the communication means offered by the Internet the magnitude of open source projects grows exponentially. Today we have communities of tens of thousands of people working together at projects that shape the way we interact with technology. And the beauty of these collaborations is the idea behind them: democracy. Everyone can contribute to an open source project in every way they can and decisions are taken by the community for the community. And in the end if there is a minority of members in that community who don’t agree the decisions taken they can take the existing project and make a new community with a different vision and goals. As we dig deeper into the nature of open source we encounter this flexibility in almost every project. Even if a certain project is abandoned by its community and development ceases to exist in time someone else will pick the dead project or even parts of it to build something better. This way, with every iteration of the project the quality factor increases to a level that fits its users. Nowadays we find open source everywhere. From the Apache Web Server that powers 70% of the Internet to Android phones and tablets that account for 80% of the mobile device market. Even though most people don’t notice it or simply don’t care about the nature of the software in their devices, open source is a silent innovator that changes their life one day after another, version after version, one line of code at a time.
Embracing this current of innovation and willing to participate in this revolution Allevo is preparing the launch of a project that will change the way we look at financial transaction processing. With the launch of FinTP in January 2014 we bring the principles of open source to an area where proprietary software is the undisputed leader. Although there is a saying “If something ain’t broke, don’t fix it” we will try to go beyond it and bring new concepts as quality, security and the most important above all transparency and true democracy. Finkers United is the community built around FinTP and the one responsible for implementing the concepts mentioned above. Every decision regarding the development and direction which the project is taking will be made by the community in a transparent way and made available to everyone. Everyone is welcome to join either they are users of the application, students, developers or they are simply driven by curiosity. No mater the reason for joining every member’ opinion will have an influence on the shape the project. The main goal for this community will be to provide its members with the standards of quality they desire and offer them a direct involvement in the process. Due to the nature of the public availability of the code we will be able to set high standards for security as this is one of the most important aspects for the future users. This will allow not only members of our community but also security researchers and everyone who has interest to discover flaws in our project, to provide assistance in fixing them or even provide the patches directly in the shortest time possible.
This is the way WE plan to shape our future. This is the approach WE take to ensure our continuous innovation.
Who are WE? We are a community.
We are open to members.
We are open to suggestions.
We are Open Source.
Join the Revolution.
Practice makes you less bad
My grandfather taught me how to play chess when I was around 7 years old. He started with the basics : allowed moves, win conditions and some strategy to improve board presence and pretty much stopped there. He was not an expert chess player, but he had great patience and let me win as much as needed so I don’t lose interest in the game and also seemed to really enjoy the time we spent during the summer holidays.
Casual chess players hit a wall at around 1200 elo rating and after that, just playing random games does not improve their skill any further, or does so at a very slow pace, so a more focused learning is required, such as reading a book or playing tournaments.
I believe there are similar obstacles in software development or other engineering practices and one can only get that far by circling the comfort zone. I was recently pushed out of one of my comfort zones when the company I work for decided to change its business model to an open source subscription based model and I was tasked to come up with a strategy for the development team to accommodate it.
One challenge was to allow and facilitate external contributions into our existing codebase. After some evaluation, we chose GitHub as a platform for managing the code and the associated artefacts ( issues, documentation, releases … ) and started to draft how this will work.
Managing code
First, the principles :
- Community is the bleeding edge of development and new features are mainly developed there.
- Some features may have to be developed on the enterprise version first, due to contractual obligations, but every change will eventually be pushed upstream.
- Merging from the community branch to enterprise will occur at regular intervals ( 4-6 months ) and merging from the enterprise to the community branch will follow as soon as possible after an enterprise release.
There are two main branches ( development and master ) with an infinite lifetime for both the community and enterprise repositories. In order to keep things simple, merges are done in one direction only : dev->master. Development is done on the dev branch and merged to master as soon as the build reaches a state that is stable enough for production.
Support branches ( hotfix, feature ) have a shorter lifetime and will be merged and deleted as soon as they served their purpose. Their role is to accommodate parallel developments for multiple teams.
Managing releases
Principles again :
- Every commit on master triggers an ( automated ) release.
- Nightly builds are fully automated.
- We’ll be using a form of semantic versioning : MAJOR.MINOR.PATCH
- Major releases occur at regular intervals ( 1-2 years ) and feature releases at shorter intervals ( 4-6 months ).
There will be two versions of FinTP : the community edition and the enterprise edition. The main reason to offer an enterprise version is that we need to be able to offer support to our paying customers and for that we need to keep releases stable and controlled.
I’m taking a page from Joel’s book here and plan to automate the built process as much as possible. We want to enable a community of developers/users as much as possible, so we’re releasing precompiled binaries for the community edition on fintp.org and at the same time keep costs down, so it will have to happen with no human supervision.
Mistakes will be made
There is saying in chess that “a bad plan is better than no plan at all” and this is our plan to open our development efforts.
This is how we start and I can’t wait to see where the road will take us.