aeroo / aeroo_reports

Aeroo Reports
http://www.alistek.com/wiki/index.php/Main_Page
48 stars 145 forks source link

Aeroo Reports project funding for documentation and further development #88

Open sraps opened 8 years ago

sraps commented 8 years ago

As it was off-topic for the issue https://github.com/aeroo/aeroo_reports/issues/87#issuecomment-217599877 , where this discussion started, I opened this new issue... Quoting @lukebranch

Regarding funds, do you have any mechanism setup (eg. like a paypal account) for people to contribute to the project? I personally don't think the crowdfunding method works very well for odoo, however having a way to be able to contribute to the Aeroo Reports project financially (ie. similar to how libreoffice allows people to contribute via paypal) may at least bring some funds together for the project. I use Aeroo quite often for my own business, as i'm sure many others do, and I personally would be happy to contribute in this manner if there was a way to do so. I would not be able to afford much, however if enough people who are using the project contribute a small amount I'm guessing it could help fund some projects like expanding/updating the documentation. Also, are you open to allowing community contributions to documentation, similar to what Odoo is doing here: https://github.com/odoo/odoo/tree/9.0/doc I'm sure some of the more experienced members using Aeroo Reports could contribute to some basic documentation, if you were interested in putting together a basic idea of what subjects you'd like it to cover.

  • @lukebranch
lukebranch commented 8 years ago

@sraps ,

Brilliant! Thanks for considering my suggestion.

In terms of documentation submissions if you're happy to provide a basic outline of what you'd like the documentation to include (both functional and developer), i'd be happy to start submitting small contributions to this in the way of PR's for you to review, and i'm sure others would gladly contribute to this project as well, to serve as a knowledgebase for themselves to refer back to, as well as for others that want to implement Aeroo into their workflow.

Feel free to ping me if there's anything I can help with or anything you'd like to discuss in the meantime.

sraps commented 8 years ago

As you would notice for some time Aeroo Reports is not in active development. This is due to several reasons, including that Aeroo Reports exhausted most features that either are indispensable or easy implemented and hence needs no substantial time investment. It does not mean that there is no room for improvement and further development, and of course decent maintenance - better documentation, timely official code migrations to newer Odoo / OpenOffice or LibreOffice, performance improvements, some hard catch/fix glitches.

The other and probably most fundamental is funding. As I have mentioned before Aeroo Reports is mostly being funded by Alistek. Many thanks goes to companies and individuals who responded to last fund-raising to migrate to another Odoo. For the funds raised there has been several improvements regarding Aeroo compatibility with newer office versions (Py3) and partial migration to new API. Nonetheless it is a sporadic practice - I believe, could not be justified as a permanent funding for this or other similar quite comprehensive, and low level project. And here is why...

Although almost all Odoo users do reports, most do not even know what it takes to create a report and almost none have idea what it takes to develop a horizontal deeply integrated module like a reporting module. So this is not a cool project like some PayPal or banking connector which gives immediate attraction, hence can be sold on Odoo's module market. Aeroo does not report in itself - it makes it possible to write a report spending just 10% of time it usually would take with other tools. And, of course, thanks to office package gives myriads of formating options, other reporting packages even can't dream of. This feature is Aeroo's joy and misery - even skilled end user can develop fairly complex report.

So it is not possible (and not right) selling the Aeroo on "google play" type markets. While I have been considering, I believe it's not right and it's not viable to sell the report modules as well. Because there's not so many, I mean there's not hundreds of thousands of users of Odoo, who'd consider buying an invoice report. And by users I mean not exactly end user companies, because GPL like licensed module is a single time sell to a single implementer at best. Or single time sell at all, at worst, because it would end up as a free github project and be maintained as a legit free as in freedom (and free beer) branch.

It's not possible to attract so many Youtube views for tutorial or howto video, so no revenue in this, as well.

I believe that it's not quite possible to profit from selling documentation or "for dummies" books as there's not so numerous potential users. It reminds me 5 in 100 would buy the book, so there's much more benefit to release all the documentation possible for free, to attract more users.

I guess merchandise, is of short term option. I mean cups, t-shirts, etc. Logotype and Aeroo Rpeorts brand were designed mainly to distinguish this project from other look alikes.

Commissioned development with FOSS is an interesting topic in itself, so I will try to be as concise as possible. My calculations just tell me that it's impossible to provide significantly cheaper services to clients, than it is with proprietary development, because there's no margin on licenses or reselling the same SLOC to fund marketing. So it is significantly harder to push to market module, that is not visible to end user, let's call it "super-star" module. And here I mean module that is not kind of 100 SLOC on top of other's work of many thousands lines of low level code. At the same time competition for development in the market is significantly higher - that is both local and offshore development. There was some hope that Odoo would stay OpenERP (read ERP), and would not go so much for glitter features attractive to micro companies. Although, I understand why are they doing this - the same reason, 5$ x 100k (do not stick to particular amounts) micro companies account.

I will just say that there has not been significant interest in development for Aeroo Reports, during these years. I can only guess whether that's because of in-house/local/offshore development. But those 5000+ users of Aeroo, I do estimate, account for ~1...2 report development requests per year. Yes, this is all what it is. Some go away finding out that it'll cost more than that of local student's efforts or far offshore development. Some are not heard back after receiving prototype, probably due to bad projects or something. In this case we end up barely covering direct expenses on the job.

Aeroo Reports is a low level software, whose counterparts in other software domains are being funded by developers themselves or other big players in the particular market niche.

When there were some early talks on incorporating OCA idea, I was eager to even donate some of our projects to OCA to help fund the idea, if the OCA would help federate no only free efforts, but also attract funds to help funding Aeroo like horizontal projects. Instead OCA turned into another organization that organize work of making happen another round of free beer. That is main problem of FOSS, sorry I am not interested in that. By this strategy it's possible to attract volunteers not the full time professionals.

That is why many promising project just stagnate in a proof-of-concept, working, but hard to implement or another incomplete phase. Attracting customers for paid support. Aeroo Reports is another story, Alistek funded the project up until easy installation and use phase. We shot ourselves in foot- if at the proof of concept there were interest in support for setting-up Aerroo, now since 3+ years not even that. Still it's obvious that Aeroo Reports is being used, and number of installations evidently increase. Funny isn't it?

So there are only donations and fund-raising left. Yes, it partially works, but it does not solve the whole bunch of problems. It's easy to attract several thousands for some nice to have, but hard to implement feature (hence it's hard to estimate work involved and it takes more efforts that it's possible to raise funds), then there's daily maintenance job left. And daily maintenance can not be done voluntarily or sporadically. It's takes some time to answer forum posts, live along the project. And the more SLOC's project grows, more and more complex it takes to maintain it.

I do not believe that developer have to give out one project after another just to survive and help funding maintenance for previous. Some kind of multi-level-marketing. It works while audience grows. Time after time you have to abandon some of projects, probably then picked up by another volunteer.

At the same time it's clear that there is no counterpart to the Aeroo Reports in reporting for Odoo. To understand what's the role of Aeroo along other options, some time ago I compiled comparison matrix of reporting engines for Odoo (http://www.alistek.com/wiki/index.php/Comparison_matrix_of_reporting_engines_for_OpenERP). Although it's a bit outdated it clearly shows what Aeroo is. No other projects survived as Aeroo Reports do, but it's only survival.

P.S. I have not even touched some of funding options, but then it would have been too long. I leave the topic open, because it's not only viable for Aeroo Reports.

sraps commented 8 years ago

Thank you, @lukebranch!

Our website is kind of frankenstein, fixed together various software packages. I will take a look what it takes to make it possible contributing to the documentation.

sraps commented 8 years ago

So here it goes, Keep/Drop old API poll, clearly ruled to drop the old API in Odoo v10.

So it will need substantial effort to continue porting Aeroo Reports to new API. Although Aeroo were one of the first modules started to move towards new API, it was clear the one is green at the moment. So I decided not to raise further funds for the task, now I will have to port. Unless SA do not decide to keep one anyway...

mtelahun commented 8 years ago

We use Aeroo reports in our projects; and while we cannot directly contribute money (for various reasons) we would be very interested and happy to contribute development time. I am sure there are many others like us. One possible solution would be for Alistek to create a To Do list of what needs to be done and others in the community can chip in with the development. Aeroo reports is just the type of "infrastructure" project that would attract attention from others for whom it would be in their own self-interest to contribute development time.

sraps commented 8 years ago

Thank you, @mtelahun!

This is +1 for solution that keeps surviving the project. Not surviving the project+team. This is something like OCA does, by federating volunteer job.

If this topic will be interesting and attract some interest, I will assemble some chart or something out of these funding options. What helps to address a particular problem.

JosDeGraeve commented 8 years ago

Hi,

I'm also an aeroo reports user, we use Aeroo reports for a lot of customer projects at Apertoso. I for one would prefer contributing in time rather than money. Even when contributing time is less efficient for us, because hourly rates are quite high in our country, there are substantial advantages to just contributing money. When contributing time, there is a very valuable transfer of knowledge happening. As a "time" contributor you not only learn the internal working of the module, but you also learn from you peer contributors. Imho this is especially the case on OCA projects due to the elaborate, sometimes painful, peer review process.

This knowledge allows you to give a better service to your customers on the longer term:

When developing, lot's of things can go wrong. When contributing time, and the end result is not what was has expected, the knowledge you learn is still yours. When contributing money, you might wind up with getting nothing in return. This uncertainty is something that keeps a lot of people from contributing money in the first place.

In my opinion, the added value of code under the OCA umbrella, lies in the way oca has set up their review, and testing etc. A lot of these possible advantages have been explained here: https://github.com/OCA/reporting-engine/issues/1

Regards, Jos

sraps commented 8 years ago

Yes, I can not disagree to @JosDeGraeve, it's good for a running project, that nobody cares for and somebody just invested before. For a contributor it's something like having a free mentoring. But that does not help original developer. We used to contribute many thousands of lines of code per year in various projects, both Alistek OEM and to other's, without any return. But it could not continue this way, it just does not work. Incoming marketing fails, but somebody has to pay bills for the man/hours even just running the project and helping the newcomers.

That is why there's nothing new from Alistek in terms of Odoo modules. There are some left unreleased, because we just felt that we would have to invest extra unpaid effort, so why bother. Understand me right, I am not complaining, I just see that all the talk about rewarding contribution is just water vapors. IMHO, that is why there's not so many quality developed and cared third party modules.

sraps commented 8 years ago

@JosDeGraeve to add to https://github.com/OCA/reporting-engine/issues/1

As somebody may recall, I even proposed that OCA could take over the project and provide funding for further development. That was not the case, OCA at it's best offered a function of coordinating volunteer work. (!?)

The discussion were about OCA taking over Aeroo, like fully developed module I would be glad and willing anybody taking over. As something I am not interested in, and not willing to develop further. Anybody means nobody, and that is like this MLM scheme, where FOSS developer has to spit out more and more code just to survive, and kick off old projects somebody else to maintain. Meaning taking projects just to have more and more development, to fund current efforts and previous. So it means that OCA this way promotes this pyramid marketing.

This is good if you just come to work, do the job that's there on the desk, walk away, do not care what's there next day. The Linux and such widely used software is a bit other story, they are used in millions of copies and their initial developers are a rock stars in their domain. In practice man hour in Odoo niche is less or equally paid by customer, and you have to develop more and more just to survive.

The more I talk to other FOSS developers and Odoo contributors, everybody tells the same, nobody seems willing to speak open. I am speaking out, that present principles does not work in practice.

sbidoul commented 8 years ago

@sraps we are also recent users of Aeroo at Acsone. We are quite happy about it, and provided several PR's already.

I'm convinced we need to unite efforts around one such system to produce editable reports with Odoo.

I understand your concerns about funding and maintenance of open source projects in general. This is not easy, and perhaps even more difficult in the Odoo world. That said, I believe there are lots of opportunities and potential for the open source ecosystem around Odoo, and making that progressively more sustainable is what OCA is about.

I think the door is still wide open to host Aeroo under OCA umbrella, and I for one would be in favor.

It's true that there are (as of today) no OCA mechanism to provide direct funding to projects. At least it will provide a process and standards for collaboration, as well as support to such collaboration. As I have witnessed in many cases, that alone gives much better chances to modules to share the burden of maintenance (at the minimum), and grow from new contributions (quite often, actually).

Given the good quality of pending PR's on Aeroo (from @Yenthe666, @lmignon, @hbrunn and others) I'm convinced there would be many contributors and reviewers. At least I can bet the migration to v9 would be pretty swift.

You'd continue to get full credits for creating the module and if you can, your continuing input to help driving the project would be much appreciated of course.

yostashiro commented 8 years ago

Would be nice to see Aeroo under OCA. I'd like to chip in if there is a fundraising campaign.

dreispt commented 8 years ago

OCA is a platform for integrators, to cooperate and share the maintenance burden of infrastructure code. Of course integrators would be happy to have Aeroo under it's umbrella, adding it to the shared infrastructure library.

But that's not the point for @sraps : he would to keep the "ownership" of Aeroo maintenance while having some decent compensation for doing it. That expectation rules out OCA as an option, and bring the question of what business model could make that work.

Marketing at integrators is difficult, since they are used to / expect to hack the code they use, and so prefer to spend time on the code instead of buying services. And it is clear that integrators have a hard time to be able to carry forward the post of eventual Alistek services to their final customers.

Marketing at final customers using an integrator is not viable, since integrators already provide them what they need: the setup and the training.

Marketing at self service final customers, without an integrator, may be a viable option. The ones that can't setup Odoo themselves are on a SaaS, and install additional modules, so not a market. The ones that get a VPS and setup Odoo have some hacker skills, time available, and low budget. But these could be interested in a buying a packaged solution to get quickly them up and running with Aeroo. That could be to sell an Aeroo "packaged solution", with setup scripts, and guides for setup and usage. It could work, but you need the view it from a marketer angle.

Of course, there's also the premium private features. FLOSS purists will complain, but pragmatically it can be a way to fund the FLOSS parts. You could consider premium features to sell through the integrator channels.

Regarding integrators, I think they would be ready to pay for crowd-fund code sprints, like version upgrades or the new API port.

In summary, there are a few ways you could monetize, although none of them is easy:

sraps commented 8 years ago

@dreispt I really appreciate your input on this topic. Mostly agree on points you are stating...

In essence, we've tried almost everything, and evaluated every option out of mentioned. Some of them left untried in practice due to the fact, that there is not enough popularity in numbers for the odoo itself, so for some related technology there would be even less. By numbers I mean number of video watches, or similar stuff. So they left untried.

The only option that partially worked is crowd-funding. It seems that I will stick to this option as the only proven, at least for the round.

P.S. Recently stumbled upon this article which roughly resembles situation behind many FOSS projects. I can draw some similarity to a company or team, that have to take full-time jobs to pay their bills, probably it'd be dumber than the FOSS project, nonetheless...

http://www.michaelbromley.co.uk/blog/529/why-i-havent-fixed-your-issue-yet

dreispt commented 8 years ago

That post discusses a related, but different issue from the one discussed here. Both are interesting.

This discussion is "I want to maintain a piece of FLOSS, and want to be decently compensated for it; what business model should I use?". The other discussion is "I created a piece of FLOSS at some point in time, because I had the time, enjoyed doing it, and was good for my professional enrichment. But now I don't have the time to maintain it (and free of charge). Can you understand it?

I believe that, just like we have licenses we can choose from, there should be disclaimer notes of expectations for support, to use in our side projects. So that is clear of what users of our code can expect or not from the creators.

sraps commented 8 years ago

@dreispt and others Probably the connection between current topic and the one told by the article is not obvious, though for me this essentially drills down to the same point. Eventually, it does not matter how it all begun. Whether it was like with Aeroo, a team with vision of better reporting option, or freelancer with lot of spare time.

IMHO, many projects would not be slowed down, abandoned or given away to first one, willing to take over, if it would bring in some decent income. This is even more obvious for those developing for business oriented applications, with rivals costing many many thousands. You make it for free, likely better quality, easy to implement and use for thousands of happy users. At the same time you have to need full-time job to pay your bills.

There are two points that come in mind, where first one - the more mature and easier to implement your development is, the less you earn. The more IT people oriented development is, the less you earn. Aeroo is typical example of both - there were many more support requests, when it looked promising, but was not so easy to install, now there's almost none.

At first it looked like it would be possible to sustain on contract developing the reports - total fail. It turned out it is easier to do it in-house or commission on cheap, somewhere offshore. Seems like nobody cares the bespoken OEM FOSS developer quality. There is hard evidence that selling documentation/books does not cover even "ink" spent.

I think the question is still open, not only with Aeroo.