Hi John, I'll begin with my motivation.
I've been using open source software for around 20 years. I have been using the Linux OS platform at home all that time and where possible also at work. As anyone who's been a user of FOSS for a reasonable time would know, it's not all plain sailing - many a time is required to google forums and get under the hood to fiddle with a config file.
But there are many things that don't work, missing drivers, or that missing a feature that would be really helpful. Apart from at work where I've had to use a VM to run company-mandated windows software, or highly specialised apps that don't have equivalents in the open source world, I've gotten by.
Obviously one answer to the downsides is to roll up my sleeves to help out. The main trouble for me is that I'm relatively time poor. I did try to help out at one project called Gnome planner (and yes, you can google it if you want). I'm not proud of my early rookie use of git, but I did write a patch to add a feature that I was missing from the gantt chart planning tool. It served me well while I was using it for work (until they forced me to start using MS project). I submitted the patch, but AFAIK it has never been applied to the main trunk. I have not chased this up.
PatchPitch is a reaction to the time poor thing, but still wanting to help. If I'm going to be of any use, I'll need to figure out a way of deriving a partial income to compensate me for the time I spend, otherwise I simply won't have time to help. So yes, this is a venture designed to generate income for me and any future team that is built.
The main idea, like bountysource and one or two other sites is to crowd fund features and bugs. And the idea behind this is to give users an option to address specific areas of pain for them where previously they may have had none. I am trying to improve where these other sites have not been a raging success. They have seemed to focus on building the site and hoping people will come. I was wanting to approach the project team directly (hence my posts here) to work out whether we could figure out a way that *could* work and hence have a greater chance of real success.
At this point, I'd like to say that I certainly agree with your conflict of interest assessment if I was to become part of the development team and I was soley responsible for outsourcing project management work from donations - especially if there was a lack of transparency.
My original thinking, however, was that I would remain independent of the Gnucash team. I would help to raise funds and project manage the work. The funds would cover the costs of all the work, including my own, which would all be disclosed. Initially, I expect that the actual development work (software or other) would need to be outsourced. You rightly point out that writing the proposals, selecting and supervising the contractors, evaluating the quality of the code, design and documentation are all important aspects of the process. If I am not part of the development team, then in order for the work to be acceptable and therefore able to be merged into master, the team would need to be involved somehow - either they would need to trust me or a member of my team, or they would need to do some of that themselves. The main "interface" tasks that I see are the proposals, possibly the selection of the workers, and the review and final acceptance of the completed work.
And so the viability of this concept hinges on these interface tasks and hence why I am discussing this now to gauge interest (especially in light of the significant amount of code re-write ahead) and to see whether there are possible ways to work cooperatively.
Thanks & regards, Paul.
Paul, I don't think there's any misunderstanding. Rather I think you're trying to sell the development team on something and being less than candid about your motivations. The conflict is very simple: From your Linkedin profile: "I'm the founder, director and developer of PatchPitch.com. PatchPitch.com brings certainty, control and sustainability to Open Source Software, both for customers and developers, through a form of project managed micro crowd funding." You also appear from Linkedin to have another company, SpikeSA, that is a project management consultancy. The conflict should be obvious: You're offering to help with the contracting and managing on GnuCash's behalf of something that you're in business to provide. If you can't recognize that conflict then you're remarkably ethically challenged. The impression of ethical challenge is reinforced by the fact that you have approached us twice and both times failed to disclose your business interest. But let's let that go for a moment. Let's also assume for a moment that we're interested in following up on the crowdfunding proposal and letting you run it. Apply for the job: Submit a CV and checkable references. I think the task involves the following: 1. Understanding the overall goals and priorities of the GnuCash development team for the next two release cycles (i.e., until 2020). 2. Analyzing those goals and priorities and developing concrete sub-projects to further them. 3. Writing requests-for-proposal for accomplishing those sub-projects. 4. Make credible estimates of the costs for contracting out those tasks and obtaining the requisite funds through crowdfunding, including whatever commissions/salary you'd require for performing this work. 4. Finding consulting software engineers and documenters with the ability to execute the sub-projects, get them to answer the RFPs, and select the best proposals. 5. Write contracts for the selected engineers and documenters to perform the work. Contracts need to include deliverables, concrete requirements for evaluating the acceptability of the deliverables, intermediate milestones for progress payments, and time frames for completion, plus all of the other legal stuff that goes into contracts like that. 6. Supervise the contractors to ensure that the milestones are met and administer payment. 7. Evaluate the provided code and documentation for good design, implementation, and correct language choice. Ensure that documentation and code is well-written, complies with GnuCash's coding standards, and is ready to merge into GnuCash at each milestone. Your Linkedin profile suggests that your actual experience covers only items 1 (though not for GnuCash), 6, and maybe 7 (see below), and there's no real indication of actual proficiency there, it's just a bare CV. Oh-by-the-way, since your employment at CSC seems to have been as a personal services contractor to BAE Systems I don't place a lot of credibility on the recommendations of your CSC colleagues. After all, they weren't the end recipients of the work you did. The next question is how do we manage you? Are you proposing to do all of that work as a volunteer or do you expect to be paid? If the latter, what are your deliverables, intermediate milestones, and payment schedule? How do we evaluate your performance to those deliverables and milestones? How do we control your solicitation on crowdfunding sites, collection of the money, disbursement of the money, etc.? You profess to "love open source", but what have you actually done for open source projects? What about coding and code evaluation skills? Are there some significant features that you've implemented on major FLOSS projects that you can point to? Large pull requests or patch sets that you've reviewed? Mailing list discussions on a major project that you've contributed to in a meaningful way? All of which falls far short of "adopting a commercial model", something that you haven't brought up before (raising more questions about your motivations). FWIW, Linas Vepstas, one of the original creators of GnuCash, tried that around 2000. You'll find vestiges in the copyrights on some of the older modules; look for "Linux Developers Group". It didn't work out. One or two developers have also tried selling GnuCash consulting and customization over the years, and that hasn't worked out very well either. It might be possible to build a business around GnuCash but past experience indicates it wouldn't be easy. Regards, John Ralls
_______________________________________________ gnucash-devel mailing list firstname.lastname@example.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel