Blog

Me and the open source community (series)

As we are very interested to know how does a successful open source community look like in the eyes of its members, we hereby launch an invitation for open source appassionatos to share with us their experience related to working in an open source community.

Here is the first open letter we’ve got. Feel welcome to submit your at finkers.united@fintp.org.

Episode 1 – Me and Open Source Hardware

by Gabriel Tudoran

open source hardware

According to a general definition of the concept, “Open-Source Hardware” consists of physical artifacts of technology designed and offered by the open design movement. The domain is very vast and covers a lot of areas of expertise, from electronics to mechanics and classical open-source software.

I’m a guy at the both ends of the pipe: I’m an open-source consumer and also an open-source provider in both software (embedded software) and hardware. My software side is strongly connected to my hardware side, as I’m more of a hardware kind of guy. So here is how I see the connection between the two.

As an open-source consumer I’m very happy to see that the concept is embraced on a large scale across the world. Open-source products are used in so many and varied fields (especially software products). I use open-source software extensively, especially design products: PCB design, Schematic design, Simulation and mechanical design. Many of the products are in “beta” version and lack a lot of features, but I do think that in the near future full featured products will be available for use. Talking about quality, I can say it is way better than it was 10-15 years ago, which is a very good thing.

Regarding hardware, the concepts are fairly new and the field is quite wild and unexplored. In the last years, a lot of open-source hardware products emerged on the market and a lot of big steps were made toward more stable and more available products. One of the biggest open-source hardware platforms is Arduino, which was developed as a learning platform but soon became one of the biggest hardware development platforms. The reason was simple: it’s easy, affordable and available in many forms: commercial, do-it-yourself, etc. God knows I’m one of those users relied on this platform extensively for development of embedded software and embedded products.

Talking from the other end of the table, the development side, I’d have to say the future is bleak and the reason is quite obvious. The number of consumers is way larger than the number of developers out there. Having a large number of consumers and a small number of developers it’s very bad for “business”, in this case the open-source “business”.

Let’s face it, it’s easier to take an already available product and use it for a personal project. It’s easy as 1,2,3 – get it, use it and close it. Most of the open-source consumers (now I’m talking more on the hardware side) are taking functional modules, assembling them and making them their own. Why?, you might ask. The answer is quite simple: in hardware domain (especially in electronics) it’s very hard to have control over the life cycle of an open-source product. You can’t prove that a certain module it’s developed in the open-source environment and is used within the open-source concept. Information is out there, just grab it and use it. I don’t have any problem with this as long as the final product is an open-source one and everybody can use it. Unfortunately, in most of the cases, the information available in the open-source environment is used for the development of commercial products. This is just not fair, not fair at all, as you, as an end user, will end up paying for something that initially was free.

Another problem of this “shadow game” is the fact that the developer is not getting any credit for his work and if you have a “big ego” (as me), you will be very upset about it. All in all, you worked for it, you put it in the public domain and somebody else is getting the credits.

This is where the “quality” of the community comes in place. If you have a strong community around an open-source product, then you have strong open-source product / products. If you have a community made out of consumers, then you might have a problem. You, as an open-source provider, are going to develop and the community will just consume, without giving anything back. The strength of an open-source community stands in the ideas and the new concepts that can be implemented in new products. And those get refined by collaboration and sharing. The strength of an open-source community resides in the common knowledge and the ability to work together toward a common goal. We have to understand that individuality and immediate comfort it’s not the future and it will not last on the long run. Developing a strong community around an open-source product will take time and trust (I do think that trust is one of the most important things in a community) and trust must be gained through constant dedication and constant development, of a product and most important of its members.

I want to end my open-letter with an advice, if I may: get involved, be creative and bring your ideas on the table. I’m sure that on the long run you will get more satisfaction out of it than just being a consumer. Don’t be just a mason, be the rock that builds the house!

Bitcoin and the rise of cryptocurrencies

cryptocurrency

by Andrei Bogza

In the beginning

Bitcoin is a form of currency created and stored electronically. Unlike traditional currencies such as dollars or euros, bitcoins are issued and managed without any central authority whatsoever: there is no government, company, or bank in charge of Bitcoin. They are produced by ordinary people around the world using computers to solve the equivalent of a mathematical puzzle using the SHA-256 crypto algorithm.

The Bitcoin digital currency was theorized in a paper published in 2008 on the Cryptography Mailing List by Satoshin Nakamoto. In 2009, the Bitcoin software was made public as open source and the network was launched making available the first units of the currency that were called bitcoins. To this moment, little is known about the identity of the inventor of Bitcoin, whether “Statoshi Nakamoto” is his or her real name or there is an entire group behind it.

After its launch, the Bitcoin community began to grow slowly and although there was no particular use for it, more and more people got involved in producing the currency in a process called mining. Mining is a record-keeping service that keeps the block chain (the public ledger where all transactions on the Bitcoin network are stored) consistent, complete and unalterable. This is done by repeatedly verifying and incorporating new transactions into a new group of transactions called a block that chains to the previous block (hence the name block chain). With each block, the miner or group of miners working on it is rewarded with an amount of bitcoins. It started from 50, now is 25 and as the number of blocks in the block chain increases the number will further diminish.

As there were no businesses accepting Bitcoin, the first transactions were made from person to person mostly for services or digital goods. There is also a famous (true) story about a Florida programmer who paid 10000 bitcoins for someone to buy and send him two 25$ pizza. Looking at today’s exchange rate for Bitcoin, that amount is $2 million, making it the most expensive pizza in history. Ouch!

Attack of the clones

As Bitcoin awareness spread, the demand started to grow leading to the creation of exchange services. These exchanges made it possible for ordinary people who had no knowledge of the mining process (or the powerful hardware needed) to have access to the currency. This led to an increase in value that further led to mainstream media attention, praises from financial experts, but also criticism. Businesses accepting Bitcoin as payment also started to appear, taking the number of transactions per day to the tens of thousands.

The apparent success of Bitcoin and the open source nature of its code led to an explosion of alternate cryptocurencies, some almost exact copies of Bitcoin, while others with different cryptographic algorithms or innovative methods to verify the proof of work. The first alternative cryptocurrency was Litecoin, a version of the Bitcoin protocol with shorter time needed to verify a transaction and a different hashing algorithm that was intended for everyone to be able to mine it without the need for specialized hardware (at that time, Bitcoin was moving from mining with a computer to high performance graphic cards and specialized purpose hardware that would solve SHA-256 hashes). Another popular cryptocurrency is Dogecoin, a coin very similar to Litecoin, that has its roots in the internet culture from pictures with a dog called Doge. Dogecoin gained a lot of media attention after raising the equivalent of $30000 in dogecoins of the $80000 needed for the Jamaican bobsled team to participate in the Sochi Olympics.

As earlier mentioned some of the Bitcoin clones brought innovation to the table and took the idea of cryptocurrency and the computing power behind it to a whole new level. For example, Primecoin searches for chains of prime numbers (further advancing the field of cryptography and encryption). Another example is Gridcoin, a currency which contributes its computational power for research that may lead to advances in medicine, biology, mathematics, science, climatology, astro- and particle physics, thus providing real benefits to humanity.

At the moment, there are 530 cryptocurrencies available for trade in online markets and more than 740 in total. 10 of them have market capitalization over $10 million.

The Good

As previously said, cryptocurrencies are intended to be decentralized currencies based on peer to peer transfers without any regulation by a central group, government or party. This also means that they are not under monetary policies which could lead to economic disaster.

At the heart of the digital currency is the idea of rebellion against fees. This is achieved by removing the need for a third party to process and verify transactions as it is done by the network of miners. The result is that cryptocurrencies allow for goods to be sold at lower prices, as prices don’t need to account for third party fees incurred in the process.

Cryptocurrency affords its users complete anonymity. Purchases at ATMs or by credit card link your personal information to each and every transaction. This allows for businesses, banks and governments to access this data, to track you and take note of your purchases. In contrast, cryptocurrency transactions carry no personal information but the address where the coins originated.

Another big advantage for Bitcoin and even bigger in the case of other digital currencies is speed. The coins can be sent and received in a matter of minutes while sometime transfers using traditional banks take days.

The Bad

Although mentioned as an advantage earlier, anonymity is a double edged sword. As there is no personal information linked to the sender or receiver of the currency, this makes it attractive for tax evasion, drug trade and terrorism. In the past years, several online black markets took shape in the deep web. Although most of them were closed by the US Government, some still thrive as its layers of anonymity protect the perpetrators. The most well know example is Silk Road, a deep web online market where customers had access to illegal substances, weapons and even murder for hire services.

Due to its decentralized nature, any digital currency can increase but also drop in value without any warning. As it was the case with bitcoin, the currency went from $50 to $1000 in a few weeks, later to drop again. Although the price has been stable for the past year, within the $200-300 range, the history could repeat itself or even make it worthless.This is also clearly written in the Bitcoin FAQ on bitcoin.org: “Although previous currency failures were typically due to hyperinflation of a kind that Bitcoin makes impossible, there is always potential for technical failures, competing currencies, political issues and so on. As a basic rule of thumb, no currency should be considered absolutely safe from failures or hard times. Bitcoin has proven reliable for years since its inception and there is a lot of potential for Bitcoin to continue to grow. However, no one is in a position to predict what the future will be for Bitcoin.”

And the future

While at the current time there are tens of thousands of businesses accepting Bitcoin and other cryptocurrencies as payments and as many start-ups and investors, the ideas of global acceptance and replacing standard currencies are still far away. Some countries like Iceland, Bolivia, Ecuador, Kyrgyzstan and Vietnam completely banned cryptocurrencies. Others like China banned banks from offering services to businesses involved in the trading of cryptocurrency.

Even if Ecuador is mentioned among the countries which banned cryptocurrencies, a decision was taken on the 23rd of July 2014 by the Ecuadorian National Assembly to pave the way for its own government backed centralized cryptocurrency, backed by the assets of the Central Bank.

Although the future regarding cryptocurrency is unknown, one thing is certain for now: the technology behind Bitcoin, both the block chain and its distribution nature, will have a deep impact in our society and industry.

Meeting Goliath

by Andreea Darlea

The first steps are always the hardest, the most wavering, but also full of hopes and eagerly expected. You can almost feel the air filled in with anticipation and tension, just like before a 100 m race. Only this time was more of a marathon-like race: 2 Allevo representatives, 4 days, 6 meetings, 8 entities. One may say that the action itself might be considered Goliath, and wouldn’t be far from the truth.

But the true Goliath was more impressive. I remember our grandparents were very proud when they had an object marked with Сделано в России (Made in Russia) as they were made forever. When we grew up this Made in Russia was replaced by Made in Germany. And now picture this, a German beneficiary proud of having something Made in Romania! This is actually what we are trying to do.

We think that our initiative, BOOST – Banking On Open Source Technology, is a project that deserves to be better understood and supported even by great players on the banking and financial market. It is not an easy job for a small company from an Eastern European country to make its voice heard in the multitude of voices raising as the technology limits are challenged almost every day. Besides technology, we think that we can bring a change in attitude. We hope to create an environment where bright minds in this domain can meet and create better tools faster, less expensive and more responsive to the end users’ needs. This environment is the community Finkers United we are continuously building around FinTP product, a software that allows managing financial transactions from various angles: detecting duplicates, enriching transactions with specific data, validating certain pieces of information, reporting based on various criteria, transforming transactions in various formats, as required by the regulatory bodies, anti-money laundry and financing terrorism filtering, cash and risk management, and so on.

We wanted to contact a mature, well-established market and make use of its experience, expertise and ideas, so we chose one of the European economic engines, Germany. When you look from outside at the German economic infrastructure you know you are in the presence of first-class artefacts. When you do the same from inside you may be even more impressed, as you meet the people who made all this possible. The people and their beliefs. There are many preconceptions about German people: they drink a lot of beer (they are cheerful), they eat a lot of sausages (who wouldn’t?), they are serious and hardworking (or was it seriously hardworking?), they stick with each other (good job), and others. We went there and found professionals, ready to listen and to help us with their own ideas, to share their experience and give us tips on how to approach certain situations. As they were gladly shared, we, in return, faithful to our open source principles, would like to give back some of our thoughts on this matter.

Mainly, there are three directions for covering the software need within an enterprise: buy it, develop it yourself, or outsource either the services or the personnel to develop it. Strangely enough, or not, the second most met situation is to have in-house developments. This gives us hope as it means that we can address a core of developers, testers, architects that might be interested in taking away, if not an entire suite, at least some parts of it and integrate it within the larger system. Another thing that might encourage us on our road is that nowadays even financial institutions are more willing to accept open-source software. It is true that there are still strong hold-backs as far as the critical software is concerned; but, for example, at least, operating systems such as RedHat made their way into this environment. Anyway, this means that we have to pay special attention to our documentation, code specification, architecture and functionalities description, tutorials, and, in general, to any mean that may convey vital information to potential users/ contributors to the software, so that people may better understand the strengths of the product, as well as where the product may be improved. The big issue is ultimately of trust: do I trust to use this product, and if I do, do I trust to contract this company to maintain this product for me? It is obvious that both are equally important to us.

Another approach would be that instead of addressing directly the final user, to address the existing providers on the market, who have established strong partnerships with the potential users and offer the missing blocks in the financial transactions processing. Again, we will have to prove the abilities of the product and of the community around it.

So, if on the short term, maybe even on medium term, the perspectives are less abundant, and the hard work most probably will never stop, we may change the legend and put the two, David and Goliath, at the table and just talk it through their own fears and expectations and make them work together.

Hey, Wiki, why can’t we be friends?

Over a year ago, January 2014, the FinTP code was published in the open source space. This probably made FinTP the first open source application for processing financial transactions available on the market. It’s true, it is a very niche software product, but we believed the information about its existence should be out there, for anyone interested to see.

That’s why we, as FinTP contributors, decided to publish all relevant information about FinTP and FINkers United, the open source community around it, on Wikipedia. Linux is on Wikipedia, Red Hat, Apache, Gnome, Debian, Mozilla, they are all there. Of course, FinTP is a newcomer, its community’s size cannot compare to the ones above mentioned, but that’s just one more reason for the information to get out there. Because we believe any open source development should be shared with the large public.

fintp on wikipedia

That in mind, we put together a content page detailing what FinTP is all about and another one for FINkers United. And we published them on Wikipedia, pending review. Eventually, the answer came and surprise, the pages were deleted as they were considered advertising. Advertising? We’re talking about an OPEN SOURCE project, a completely new idea in the banking and financial industry. Shouldn’t the information be out in the open, available to everyone?

We understand how Wikipedia works, based on contributors keeping it updated and relevant. Just like FinTP. But FinTP, like any other serious open source project, has community mechanisms that check and validate contributions so that the code published is reliable and safe for everyone that wants to use it. We don’t know if Wikipedia has supervising mechanisms for every review or label being given by its contributors, but maybe it should. Because for niche and not so common projects, there is a need for a deeper understanding of the concept, the industry it targets, its usability and therefore understand why it is not enough to say “FinTP is an open source project for processing financial transactions” and that’s all, why you really need to explain things and why that explanation is not, by far, advertising.

Now, the purpose of this post might seem inexplicit or even a bit curious, but all we are trying to do is inform others about the existence of something they might need or be interested in. And we try to do that on any channel available to us. We believed Wikipedia is a good channel for informing people. And we still do. So, let’s name this article a call for advice. If you have any advice to what an open source project needs to be recognised as such and published on Wiki, without being considered advertising (as if it is not open source) please help and let us know. Please keep in mind that we believe informing means also explaining and putting into context, so publishing a short definition of the project just won’t do.

Many thanks in advance for all your tips,
FinTP contributors

Open source evolution

Looking far enough, you can glimpse back in time, to the shaping of the universe we live in, expelling matter and energy that will have formed the orbs and stars and planets to be. But looking beyond the multitude of forms and presences you can find the tiniest of elements, the primary components for all that surrounds us, from the quarks to the hydrogen atoms or the genetic code genes.

Somewhere, there was always, a simple beginning. Just like placing the first dot. For us, this new beginning was embracing open source. I will therefore try to relate what has happened since we first got the idea, how has the surrounding environment changed and how we see the world evolving in the future ahead of us.

In January 2014 we started publishing the FinTP application’s code in open source. Of course there was a risk, but it has been weighted, measured and accepted. We created projects and we hosted them on GitHub, with various levels of complexity, organized by skills. For most of them, there was an enthusiastic start: we uploaded large chunks of code and just asked people to write more code. It was like the emperor’s new clothes for each contributor. Practically, your every thought was out there, waiting to be dissected, turned upside-down, weighted, measured and accepted?! And it waited, and waited, with no clear effects. “No news, good news” sounded perfectly at the moment, so we pushed more code. The projects started being viewed, the number of contributors grew and so did the number of projects, reaching 14. But still, that critic moment when things really get to happen was not there yet. And this is where we are now! What do we want? So many things. It is better to always wish for more, even if only for getting that energy boost to help you past each moment’s inertia. And among those things, we really want to reach that gross of contributors who can start a lively, self-aware and self-sustained community. We are preparing and getting prepared for that moment.

We are looking for the best code auditing mechanisms solution, from both intellectual property (IP) rights and security point of view. Being an OS product, FinTP is open to all contributions, but each and every one of them has to be legally validated. Security is also of great importance as FinTP is addressing a very sensitive area, the banking and finance sector; and we too have bank accounts. Especially if we are to acknowledge that not even the open source space, par excellence a model for collaboration and transparency, is infallible to security breaches, like in the case of Heartbleed or Shellshock.

Another of our priorities is making available an automatic testing application that will allow a more comfortable accommodation and increase trust in the application.

With our internal processes and procedures that guide our software development activities at hand, we tried to adapt them to the open source principles. During our last hackathon in 2013, we have presented these new ideas regarding working within the community. They were well received, with positive feedback. Closely following FinTP’s life cycle, Allevo will identify, define and allocate resources for the roles associated with the community and the product it creates, whether it is identifying optimum business features or managing releases.

For 2015, we are planning to organize a series of hackathons meant to create awareness on both the community and the code it develops, so that FINkers United can grow larger and larger.

FINkers United

From the start, Allevo has been investing human, infrastructure and financial resources to support the community activities. To be able to sustain this effort, including the financing for porting all application features to open source, this year we will try to attract specific European funds.

Stay tuned to find out how the FinTP project, the FINkers United community and the world around them are evolving.

FinTP This Fall

Busy fall for Allevo. We showcased FinTP, the FINkers United open source community and the BOOST project, which includes both, in the most notorious events of our business focus and region: Internet and Mobile World 2014, Sibos Boston, SWIFT Business Forum Romania, LOAD, RICAP, The Future of Electronic Payments and others. Well, you all know that since the launch of the FinTP Project, earlier this year, we at Allevo have been quite active in promoting it. FinTP has been featured online on Allevo’s blog, on FinTP’s blog, on sibos.com, in print magazines and in focused industry events.

conferences

So here’s a recap of what we’ve done this fall:

Internet & Mobile World 2014 8-9 October Horia Beschea, Allevo CTO and President of the FINkers United association, was invited to keynote the Business Software, Cloud & Infrastructure stage at Internet & Mobile World conference in Bucharest, October 2014. He presented BOOST project, which includes both the FinTP application and the FINkers United open source community. 50% of the companies on site were offering cloud services, which fit the topics debated in conference sessions, such as cloud computing, internet of things, big data, user experience, visualization etc. Jacob Benbunan, CEO, Saffron Brand Consultants said something we fully relate to: “Forget about closed systems”. Dr. Vasile Voicu, Product Management Business Segment, Telekom Romania, presented trends for 2016: over 10mld mobile devices connected to the internet, out of which 8mld are mobile phones.

RICAP 15 October RICAP helps Romanian technology entrepreneurs and innovators to develop their businesses and take their products to international markets. The program builds on Larta Institute’s long established “network-centric” methodology successfully implemented over 20 years in 17 countries. Over 9,700 innovators have been assisted through Larta’s commercialization practice. Allevo has been part of the RICAP program and was invited as a member of their alumni to present the process of delivering FinTP. What was considered disruptive innovation in Allevo’s case was the idea of compromising the core business and the main streams of revenue by migrating to a completely different business model. This was the open source model. The time we took to define and refine how this was going to work for us was happening while we were part of their programme and the participants of this round were shown a success story of how a company can break the ice and become different. More about the community of RICAP companies, mentors and advisors, and what they were up to during the first stage of the program is available on their blog.

The future of electronic payments 16 October Andrei Dutescu, Business Analyst at Allevo, was invited to participate in the Regulations panel at The future of electronic payments event organized by Oxygen events. He talked about Allevo’s initiative called BOOST (Banking On Open Source Technologies) and about the 3 components of BOOST: 1) FinTP Project, an open source financial processing application 2) FINkers United, the open source community behind the FinTP Project and 3) the new business model of Allevo. The concept of open source software and how banks have started recently to support the adoption of these products in favor of proprietary software was also discussed. At the end of the presentation questions were asked from the audience mostly related to the FINkers United open source community and about its members, which seemed to attract everyone’s attention.

LOAD (Linux Open Alternative Days) 23 October TechHub hosted on October 23rd the Linux Open Alternative Days (LOAD), an annual event dedicated to Linux and open source technologies, which has reached its 9th edition this year. As LOAD is meant to create a strong community among supporters of the open source philosophy, there was no better place to present our FINkers United open source community and the project it is built around, FinTP. Therefore, we delegated Denisa Agatie, co-founder of FINkers United and member in its board, to talk to the audience about the FinTP Project and the challenges of creating and maintaining an open source community in the FinTech space.

SWIFT Business Forum Romania 30 October Already at its fifth edition, the SWIFT Business Forum Romania has become an annual event organized by the Romanian Banking Association that brings together key decision makers, people with business focus or from the operations area of the local banking community, key people from SWIFT and from the local solution provider community. As usual, there were a few words of introduction from Mr Radu Gratian Ghetea, President of the Romanian Banking Association, a brief of the SWIFT 2020 strategy and on SWIFT’s pricing policy, SWIFT solution presentations, a panel on regulations and standards, a compliance outline and an innovation panel. Allevo has presented its BOOST project during the chatroom sessions. Allevo CEO, Corina Mihalache, joined the innovation panel, next to Rodica Tuchila, Ruud van der Horst and Felix Enescu to discuss openly about opportunities and challenges brought by the Internet of things and the digital bank, a debate on the future of banking and financial services.

Two movies were played to set the scene and introduce discussion topics: IoT and Banking and BOOSTing Banks.

The key points of discussion loomed around facts that can be seen in financial services. We’ve seen a lot of new technologies lately in the FinTech space. Is it correct to assume entry is fairly easy, but that these new entrants, startups and customer oriented services do need banks for basic operations such as settlement etc? However, if the likes of paypals, zebras and so on out there take too much of the business that banks would have normally been doing, don’t banks need to redesign their service offering to accommodate the growing customer demand?

Banking is definitely powered by software and today’s requirements for lowering TCO and complying to standards and regulations are adding restriction after restriction. Does it make sense to buy and maintain this many types of software licenses and keep everything developed and implemented on a one-time basis or would it make sense for all banks to unify their behind the scenes operations flows and look into open software that can accommodate this? How are big players in the market dealing with the need to innovate and still remain relevant in FinTech?

FINkers United at LOAD (Linux Open Alternative Days) – after the event

IMG_0641

TechHub hosted on October 23rd the Linux Open Alternative Days (LOAD), an already traditional event dedicated to Linux and open source technologies, which has reached its 9th edition this year.
As LOAD is meant to create a strong community among supporters of the open source philosophy, there was no better place to present our FINkers United open source community and the project it is built around, FinTP.
Therefore, we delegated Denisa Agatie, co-founder of FINkers United and member in its board, to talk to the audience about this project and the challenges of creating and maintaining an open source community in the FinTech space.
The presentation was received with interest and we were happy to see people reading the FINkers United for Dummnies Brochure during the event.

IMG_0632

For more information on how you can contribute click here.

Remembering how I start contributing to FinTP on GitHub: a personal experience

In the beginning… It all started with the challenge of finding the best sharing and versioning environment that will best accommodate our needs for building a strong and creative community around the FinTP project. It would have to allow collaboration among a large number of scattered contributors.
Finally, out of the hat there came out our rabbit, GitHub! We have to say we were also influenced by the large number of open-source projects it hosts.

baracktocat

My new world vs. my old world I started using Git having a Subversion background (have been a SVN user for a short while). The first impulse was to “translate” the SVN commands into Git ones. It turned out not to be such a bright idea. In order to make the best choices it is essential to understand Git functions and what makes it different. One thing is that “committing“ no longer meant that everyone contributing to that branch will be aware of my changes within the code. Being a contributor (as opposed to a committer) I am not allowed to make direct push into the master branch, that is, the location where the FinTP source code corresponding to that project is stored. In this case, I had to fork and clone the master branch locally and just work there and commit. Once I feel like my code is ready to face the world, I get online and push my code into the initial forked branch. To announce the software maintainer that I am ready to release my code into the community, I have to initiate a pull request. The software maintainer will decide, following an interactive review session, upon merging conditions: should it be merged as such or should it be improved.

Local vs. remote repository The main idea is to allow you to work on your own, without being forced to interact with the central remote repository. Yeah, I also wondered what the heck is the remote repository? Mainly it is the single central repository of any project that serves as a hub for contributors, who may or may not access it while coding. When you clone it on your local machine, then you get, what else?, a local repository. Be careful not to overlook the corresponding documentation, usually organized as a wiki site, which will prove to be handy. Actually, this way of working (fork→clone→code→commit→push/pull request→review→merge) is what makes Git so suitable for working in FinTP projects (this is where you can find them https://github.com/FinTP). I know it may look a bit complicated, especially if you compare it to SVN, and that over pushing, pulling and merging of the same files might become annoying at times, but I guess each of them is more or less suitable under specific working conditions (SVN is easier to manage when few developers are working on the same branch and bring changes to the same source files).
I found it useful to stage only specific parts of my code, may those be urgent issues or already perfect code. The staging area is like a buffer zone where you may add the code that will get shipped away. As FinTP is still in its early stage, it is usually about the code that is ready to be integrated in the already existing one. You have the possibility to choose how to interact within projects. I personally started by trying to use solely the GitHub application to push my commits, but, after some silly commits and some conflicts that could not be solved by the application; I gave up and shifted to Git bash, although I am not a CLI fan. It is a bit hard at first, but in my opinion it is totally worth it.

Branches Another important aspect that Git provides is the possibility to make several branches both on the local and remote repository. Thus, because of our need for working in a team, we have adopted two workflows. When a team of contributors is coding on the same project we go for a centralized workflow: all members are using the remote repository as a single entry-point for all changes brought to the project. Thus, beside the master branch on the remote repository, we use a development branch in which we push changes. The development branch is merged into the master one when the contributors agree that they have a stable release. On the local repository I have a master branch, a development branch and several feature branches. The main branches of the project are master and development. The master branch contains only ‘production-ready’ states of the project, while the development branch contains the latest development changes that will be included in the next release. On the development branch, nightly or merge-triggered builds (whatever comes first) are run. That means that the build will always include the latest merges. Master merges are equivalent to a new production release and actions that come with it (version increment, build label, build on some production machines) are automated. Distributed workflows: one type of supporting branch is the ‘feature branch’. When starting developing a new feature I create a new local feature branch that will be merged into the development branch as soon as the work is complete (the code is reviewed and documented, at least by relevant comments). Currently, on the projects I contribute to, there are no remote feature branches, but I have created several local branches. One can add several other supporting branches, such as release or hot fixes branches.

Message to potential contributors Using Git is awesome and it aims at making your work as smooth as possible. It is probably one of the best tools supporting large worldwide communities sharing the same interests in a collaborative environment. For start, just fork our project and start coding. Then push your commits. As soon as you have any doubts about the best course of action you may find useful information here https://help.github.com/. Anyway, if you are a beginner eager to contribute and feel that reading is just consuming too much of your time, we will be glad to offer our support.