The history of the current situation is already an epic in itself … This is from the annual general members meeting (AGM2019) in January 2020:
A note & update on the development of the member pages
The development of the new member pages (and the share system on Ethereum blockchain behind it) has been quite a saga. Here is an update with historical background. (Below, ”we” basically refers to myself and Ana, who have been most active from RH side with regard to these issues).
Early 2016 the coop asked (as decided in the AGM2016) for offers for a blockchain-based system for managing member & share records with aftermarket functionality (members can sell & buy directly from each other).
[ink to the tender for offers]
We got three offers, out which the board chose HitFin, mainly for three reasons: i) they demoed existing tech (a wallet with transactions and payment integrations) ii) their price was lower than competitors (with comparable level of existing tech) and iii) their offer was the most detailed and professional.
[link to the contract with HitFin]
The development work began in spring 2016, with 2 week sprints and regular meetings. The development went well towards the first launchable version, wallets for existing members, due early June.
Then, disaster struck. The old system crashed in late May. The coop had not had a tech person overseeing let alone developing the old system for several months (Why? No volunteers and no money to pay for a pro). We were afraid of losing essential info, but Patrick Salami from HitFin helped us rescue the database. So that was good, but unfortunately the troubles also delayed and somewhat derailed the development of the new system.
At the same time we also discovered that transferring the share values from the old system to the new system was more complicated than we thought. In the old system, we had monthly series (totaling something like 40 series, each with different valuations) with 7 different profit-split options, so in fact over 200 different asset classes. Consequently, we wanted to get rid of the series, but the mathematics of that took some time to figure out (essentially, we had to wait until the books for 2015-2016 were closed, because at that point the costs of 15-16 could be allocated to all the asset classes and their prices adjusted accordingly; then restarted as asset classes separated only by the different profit-split options). During summer ’16, we (Ana, Patrick from HitFin, me) spent tens if not hundreds of hours calculating this stuff and getting the formulas right.
Sometime in the early autumn the new share values were calculated and ready to be transferred to the new system.
Around that time also started some of the frustrating delays with HitFin. In September, there were problems caused by the DDOS attacks on Ethereum, that also put the network Gas limits down, and at some point the transactions that the new system relies on were too big to get through in the Ethereum network. However, even after those problems cleared, the progress was sluggish.
The first test users were onboarded during the AGM2016 after Christmas.
After that, throughout January and February 2017, a few members were added to the new system. But very slowly. And we never really understood why. We pushed and pushed, and finally in late March all members were added to the new system, and we could announce that in April 2017.
Then we hoped to move quickly on the next step: making possible new member registrations. But it didn’t happen. Also, the communication from HitFin’s side became more and more slow. The server was often down, as many members noticed, and new invite links to members were slow in coming.
Finally, from June 2017 on it was almost impossible to get any reply from HitFin. They didn’t reply to slack messages (which has been our standard channel of working), e-mails, or even phone calls, that Ana took up doing regularly.
Why HitFin became almost completely unresponsive, we (Ana and me) did not understand. We proposed many things, but nothing helped. (A detail: HitFin would also have benefited financially if new members would be coming to the system, which makes the delays and unresponsiveness all the more baffling).
In view of this, and recognizing the problem that neither Ana nor me can read code and understand what it does, we then sought collaborators who could help in assessing the situation with the code. No volunteers were found, at that point, from the membership.
However, Luottamuksen Löyly coop (LL), a Finnish blockchain coop, promised to help. They first did a code review in order to establish what the code does.
Long negotiations with HitFin were ongoing during 2017. Together with Ana, we basically pestered and pressured them all the time, several times a week. Finally lawyers had to be involved.
In order to solve the gridlock, we proposed a joint-IP contract, where the coop and HitFin would both have copyright of the existing codebase, so that we could work with LL on finishing the work. We also promised to compensate HitFin for their hours of work in cooperating with LL. These negotiations lasted for a month and a half, and finally we had a contract prepared by the lawyer with which both us and HitFin were happy with. So we signed from our part and waited for HitFin’s signature. After a couple of weeks HitFin replied saying that they will not sign and want to keep the old contract.
In the estimation of legal company DLAPiper, HitFin had clearly violated their contract in a way that constitutes a criminal offense. (Their wording goes like this ”The performance of HitFin (which has now turned out to be performance on “as available” basis) does not satisfy the commercially reasonable efforts standard. I would say that it is obvious that there is a breach by HitFin of its obligations under the contract. The breach is intentional. The breach would entitle RHC to claim damages and/or terminate the contract. The limitation of liability would not apply because the breach is intentional. If HitFin has received payments under the contract but has refused to perform the contract, that would constitute a criminal offense in Finland and I would assume the same to be the case in USA.") However, they also estimated that taking legal action against HitFin (which would have happened in the US) would be very costly and uncertain to bring any results. Instead, it was agreed that the coop tries to get the unfinished codebase from HitFin under a new licensing agreement, and finish the development through other means.
Members were enlisted in helping to recover the unfinished codebase from HitFin that it had failed to give to the coop. Finally, in winter 2017-2018, due to direct contacts and social media pressure from members, HitFin delivers the unfinished codebase.
The main problem, after that transfer, was that the code is completely undocumented, so that there is a big uphill struggle just to learn what it contains and what it does.
LL set up a server environment for the code during early 2018. Unfortunately, also at that time LL reconsidered its business plan, and decides not to engage in blockchain development after all. However, LL finds another company, BinarApps, to work on the codebase.
This work commenced during autumn 2018. BinarApps did several hundreds of hours of work on the codebase; first setting up both a development and a production environment and then in adding features to the front-end, including log-in, password reset/change, and for admin search of members & change of member information.
In December 2018 the first sprint by BinarApps is ready. It is possible for a member to log-in, and to see the value of the shares. Admin can also see the value of shares, and change info in member register. Some volunteer members (5 in all, if I remember correctly) test the system live in December 2018.
However, there is a major part missing. The values of the shares (corresponding to the assets, or NAV, of the coops portfolio), are changed on the back-end, on the blockchain side, and this feature is still missing. So the share values seen in the system were, in December 2018, old ones, so the member pages could not be opened to members.
The other crucial missing thing is, of course, issuing new shares and registering new members. These are necessary for the finances and continuation of the coop.
BinarApps evaluated that adding those features would take a few hundred hours of work (depending on the specifics of the tasks). However, during winter 2018-2019 it became obvious that the funds of the coop were running so low that this work could not be begun.
(In addition to his main line, we have also asked help from several individual developers. Without naming names, on the top of my head I can remember 4 developers, some from famous blockchain projects, who have taken a look and made some noises towards possible help, but with no real results).
So that is where we are: there is the further-developed, but yet still unfinished codebase, still undocumented; functional up to point, but still missing two crucial features – adjustment of share prices and issuing new shares. So close, so far.