Code sharing

jcahn2 wrote on Thursday, March 31, 2011:

Ahoy,

As I watch the pieces fall into place for OpenEMR4.x, this bit of philosophy occurs to me, so bear with me a moment.  The open source world thrives in part on its reputation for charity with source code.  Duh.  The GPL may encourage, but does not require that modified or embellished code be given back to the community.  Code contribution is more a philanthropy.
Whether or not it is donated is typically a call made by the entity that pays for the generation of the code or by some hacker who writes code for the pure joy of peer adulation.

REALITY requires that many code writers receive just compensation for their work (shoes for the children, etc.).  So where will the money come from?   Customer support earns money for a company regardless of its code contribution.  But companies with unique and secret code embellishments can also make money leasing that code from
their market niche.   As I see it they have 2 risks:  The first is the loss of the good will of the community (do not underestimate).  The second is that someone else’s code that accomplishes the same function will be
donated to the community first .  The secret code will become obsolete and the niche will become a slippery flat surface.

So I think what we can hope for is that there is a great enough demand for OpenEMR that everybody gets paid fairly; that embellishments by entrepreneurs are sequestered only for a length of time sufficient for a “reasonable” return on
investment; and that end users who purchase software improvements understand that the great majority of the code they are using for free was donated by someone else, and it is their turn to also donate back to the project.  It is not only
their turn to donate, (am I the only one who sees it this way?) it is their moral imperative.   Thanks for listening.  You know who you are :>)

Jack Cahn MD

jcahn2 wrote on Thursday, March 31, 2011:

Oh yes, we all want the weasels to play nice and I love to see nice people doing good things just because it is the right thing to do.  BUT if OpenEMR exists only as a patchwork of donations from naïve college students, it will be fit for use only by those impoverished state agencies and underdeveloped economies who can’t  do better.  I am dreaming of a day when OpenEMR will do to commercial EMRs what OpenOffice is doing to Micro$oft Office.  And I don’t think that it will be very far into the future.  There will also come a day (I’m betting < 10 years) when nobody will pay for an EMR.  After the incentive money dries up, docs will not put up with exorbitant costs for record keeping and billing any more than we did for our old paper and pen filled folders/charts.

But I digress.  I feel that if OpenEMR is to become a first class, sought after EMR, then it must be produced by people with a high level of motivation and superior programming skills.  By golly, you are just going to have to pay for that somewhere, somehow.

In principle, your idea of charging for-profits to license OpenEMR from OEMR sounds good but I don’t think it’s going to work because of the same reason that there is no prostitution in Sparta – you can’t sell what everyone else gives away for free.  If the OpenEMR code is forked into a non-GPL version that could be licensed for a fee, then it won’t be open source, duh.  I am looking for a solution within the current General GPL licensed version.

The idea of OEMR raising money by “licensing” 4.x versions to for-profits will work but it will have to be on the honor system.  Maybe the next step is for the board to suggest a fee structure.  Basically, this fee would be passed on to clients by the vendors.  I think Tony was hinting in this direction in a previous post.

Richerd Stallman says, “The desire to be rewarded for one’s creativity does not justify depriving the world in general of all or part of that creativity. “  This is more my concern in the first post.  How do you balance the programmer’s need for appropriate reward and the community’s need to move forward?

Jack

zhhealthcare wrote on Thursday, March 31, 2011:

self-realization, and still some for profits.  It is not for us to question the motives but to partake in the gifts of these individuals or organizations. 

As many of you have noted, the progress of OpenEMR from earlier versions until the latest, is admirable: This happened without any nudge from anyone:  the current system works.  People have contributed code without coercion or compulsion.  And much of that progress have been due to contributions of people/organizations who intend to make money off OpenEMR.

There might be some out there who merely takes and do not give.  But then that is human nature.  All progress is made by the five percent.   Companies like Phyaura, EHR live, MI2, garden state and such have paid their dues and shown their dedication.  If they found an edge to drive people to them then hats off to them and their creativity.

In our new found enthusiasm to the current position of OpenEMR we should not forget that we are an open community and we accept all kinds of people: we do not require policing.  We need all kinds of people to make OpenEMR popular.

As was said in Jurassic Park “life will find a way”,  OpenEMR will find a way to survive and flourish. 

Shameem C Hameed
Z&H Healthcare Solutions, LLC.
2010 Corporate Ridge, Suite 700
McLean VA 22102

ph:  571-766-8074

zhhealthcare wrote on Thursday, March 31, 2011:

People contribute to the community for different reasons.  Some do it out of philanthropy, others do it for self-realization, and still some for profits.  It is not for us to question the motives but to partake in the gifts of these individuals or organizations. 

As many of you have noted, the progress of OpenEMR from earlier versions until the latest, is admirable: This happened without any nudge from anyone:  the current system works.  People have contributed code without coercion or compulsion.  And much of that progress have been due to contributions of people/organizations who intend to make money off OpenEMR.

There might be some out there who merely takes and do not give.  But then that is human nature.  All progress is made by the five percent.   Companies like Phyaura, EHR live, MI2, garden state and such have paid their dues and shown their dedication.  If they found an edge to drive people to them then hats off to them and their creativity.

In our new found enthusiasm to the current position of OpenEMR we should not forget that we are an open community and we accept all kinds of people: we do not require policing.  We need all kinds of people to make OpenEMR popular.

As was said in Jurassic Park “life will find a way”,  OpenEMR will find a way to survive and flourish.

mukoya wrote on Thursday, March 31, 2011:

Difficult balancing act!

Some observations:

1.  I think OpenEMR is very popular now because it is Free Open  Source. Once it becomes commercial, it will just be one of the others and you might need more convincing to sell it.

2.  Whenever there are two versions of a software; free/community and commercial, however close they may be, people looking for free software are likely to avoid the whole software altogether. Commercial because that is not what they are looking for and free because they feel they are being denied some features. One is more likely to go for the totally free one that may have less features than the free version of the dual licensing model software.

However there are few people willing to spent a whole lot of time on headaching coding without a reward, and they have good reasons. Sometimes I even find it bordering on Immoral/unfair unless of course they really enjoy it and they are under no pressure.

When I look at SF, I see 67,000 downloads of 4.0 for the 4-5 days it has been out. Not reliable statistics, but a pointer to its popularity. I guess more users, more chances of donations of code and financial, but on the flip side, more demand for free support, features etc.

Suggestion: lets get slightly more mileage with the free opensource tag and later, if donations e.t.c are not keeping up, the board can consider dual licensing to target revenue from for-profit resellers (whose implementation may have its share of challenges).

Mukoya.

stephen-smith wrote on Thursday, March 31, 2011:

Dual-licensing (to commercial + GPL) would require a lot of work.  You’d have to re-write any sections of code where the copyright is held by an entity that either can’t be contacted, or refuses to assign their copyright to the board.  Unlike some Free Software licenses, the GPL doesn’t allow re-licensing for the most part.  (Unless, of course, you are the copyright holder.)  This is a unfortunate, but likely unavoidable consequence of being what the FSF calls a “strong” copyleft.

I don’t have much code in the tree, but I would be unwilling to assign my copyright without compensation.

aethelwulffe wrote on Thursday, March 31, 2011:

Well, obviously there are issues with “selling” the code.  It probably (as a functioning whole) doesn’t belong to anyone this side of serious litigation, and then probably not after that.  What we might be talking about is a methodology, one way or another, to provide funding for more dedicated development, and putting shoes on those unwed college students toddlers, Ja?
Throwing something else out there to get shot to pieces:
  In the instance (which I agree with) that the code is open source/free/re-distributable, there is still one item that you can consider to belonging to the OEMR non-profit, and that is the label/logo/trademark.  If someone wants to provide tech support, and they want to logo or label the service they sell with the OpenEMR tag, perhaps that is something someone might pay a wee bit for.  Outside of that, the organization itself could certainly organize and skim off of folks that want to do tech support under the organizations label.  This too might be a pure pain in the ass, get in the way of primary developers that are already selling that service to pay for their coding habit, or make the organization libel.
  On the other hand, you don’t get big without having an effect on the market.  When you have a market share, people are going to make money distributing or servicing your product one way or another.  In fact, OpenEMR might not be able to get much bigger than it is without some sort of service package available so that large companies can outsource their tech support and training.  The companies that are already doing this may or may not be up to ongoing expansion.  There WILL be money, one way or another, that the non-profit here can benefit.  At a MINIMUM, I would say that even if tech support is not offered, some sort of skimming scheme for “OpenEMR certified” trainers would be quite doable.  Webinars, ICD-10 packs, external utilities, configuration assistance, t-shirts and coffee cups from the gift shop…SOMETHING other than waiting for Grandma’s Walk-in Clinic to send a check for $10.

Grants:
  I assume that since coding projects are pretty well organized, have tracking, and have been assigned man-hour estimates, that specific project grant request packages could be made up.  As this is a globally distributed item, not too many GSA/GSE entities could be bugged for grants, but I am sure there is a door to bang on.  This sort of thing is typically what a non-profit’s BOD does, but it is not the only avenue.

tmccormi wrote on Friday, April 01, 2011:

… don’t fort plain old "support the good cause’ membership in the OEMR
http://wiki.oemr.org/wiki/OEMRFundraising

tmccormi wrote on Friday, April 01, 2011:

… don’t forget plain old "support the good cause’ membership in the OEMR http://wiki.oemr.org/wiki/OEMRFundraising

Dang the non-edit feature

jcahn2 wrote on Friday, April 01, 2011:

Thank you all for your insight, running the gamut from OEMR police to self-realization.  There is a strong argument for laissez-faire.  And there is no questioning the altruism that has delivered 4.0.  Maybe we have the right balance of profit and charity with the current arrangement and we shouldn’t meddle.

The initial ONC certification of 4.0 cost nearly$20,000.  A one-liner in Tony’s announcement said that the fee was covered by an anonymous donor.  Am I the only one who doesn’t know “anonymous”?  How deep are those pockets going forward with further certification steps and other expenses?  We seem to have a clear vision of the path forward on the development side, but our budget process leaves me queasy*.

Ahoy Art,
sign me up for 10 OEMR T-shirts and 5 mugs.

Jack

*nausea, ill at ease, a sense of anticipation.

zhhealthcare wrote on Friday, April 01, 2011:

Since this is a discussion on how to raise funds for OpenEMR, I wanted the community to learn about a proposal that I had placed earlier this year. I would welcome comments on this.

ZH Healthcare has a medical billing division.  Our proposal to the community was that if anyone directs any billing business to us we would pay  a percentage of the revenues that we receive from such reference to oemr non-profit.   The client would have access to our hosted OpenEMR free of charge too.  If anyone wanted to support the community they can use this opportunity.

This proposal was not acted upon because it was felt that the non-profit could not promote one vendor.

Shameem C Hameed
Z&H Healthcare Solutions, LLC.
2010 Corporate Ridge, Suite 700
McLean VA 22102

ph:  571-766-8074

mukoya wrote on Saturday, April 02, 2011:

Hey so I was wrong. The 67,000 downloads referred to above (post 6) are for all packages. Not just 4.0! Never mind still learning SF! The actual figure appears to be about 600. All the same, considering how many doctors and clinics are out there and the number of EMRs, it is not a bad start for 4.0.

Mukoya.

aethelwulffe wrote on Saturday, April 02, 2011:

Hmm.
     Non-profits can contract services from for-profit organizations.  Non-profits can also sell services, pay people, re-pay debts, all that.  They simply must not show a profit.  This is easily accomplished by an organization that is already giving far more than it is likely to ever get back.

     “Don’t fort plain old”—Reminds me of the sign at the historical site “The Old Stone Fort” at SFASU.  We used the art lab’s wonderful CNC router to cut out nice new matching letters to change the sign to “The Old Stained Fart” and “The Old Stoned Fart” at various times……

drbowen wrote on Sunday, April 03, 2011:

This is kind of a long post.

Jack Cahn did bring up some interesting topics that effect all of us. 

Tony McCormick and I had a great time at the POSSCON in Columbia, South Carolina from March 23 through March 26, 2011 evangelizing about OpenEMR (on our on nickel by the way).  There were about 500 attendees and this was the second year for their Healthcare track.  There a surprising show of open source healthcare leadership at the conference.

Highlights:

Wednesday evening there was a “Birds of a feather” meeting in the IT-ology Executive conference room.  This meeting was literally standing room only.  David Sparkman the Chief Program Officer of the National Cancer Institute posed a question to the group and sparked a lively round table discussion among the attendees.  The CaBIG program used by the NCI has developed into a mature program that the NCI is now seeking to open source and promote a community around CaBIG.  CaBIG is the suite f tools used by some 70 different projects at the National Cancer Institute.  The round table discussion ended in a debate between the “charismatic leader” vs. the Apache committee leadership approach.  Jay Batson of Acquia, Inc. (Drupal) championed the charismatic leader point of view while Jim Jagielski the president of the Apache Software Foundation expressed the “Apache way.”  This conversation was moderated Iain Sanderson.  Opinions were offered by Dan Housman of Recombinant, Dan Demaggio of Animoto, Sam Bowen of OEMR, Dan Russler of Oracle and Mark Gunnels of HSSC.  David Riley advised forming a separate foundation.  Ned Thurman was concerned that the existing software was not really open source since it had been written with public monies that the licensing was really “Public Domain”.  David Speakman appeared a bit overwhelmed by the magnitude of the response.  The problem will be taking a large bureaucratic organization and develop cells of open source culture within the context of the whole.

Wednesday night the healthcare group adjourned to the “Flying Saucer” where William “whurley” Hurley of “Chaotic Moon Studios” paid for beer in exchange for ideas to start Android Apps.  The goal was to start a new open source project with multiple coding plans before morning. There were 42 people in the this and “whurley” got about 50 ideas for new apps.  Whurley gave an open source “unpresentation.”  He asked the audience what questions they had about “open source” and developed his presentation “on the fly.”  Whurley has a lot of experience with developing open source communities and offered a lot of insight into his prior work experience art starting open source communities.

Thursday, Sam Bowen and Tony McCormick gave an “open source presentation” with a combined presentation.  The presentation seems to have gone over very well.  We covered the history of the OpenEMR project, its basic software language and backend, and the growth of the project.  Dr. Bowen covered the Internationalization and the major contributors to the project.  Tony McCormick covered the recent Meaningful Use project and the recent ONC Modular certification.  There were a number of good questions concerning the project that caused us to run over our allotted time somewhat.

Sam Bowen, was invited to join an expert panel to field questions about the future of Open Source.  He joined Dan Russler the chief of Health Informatics at Oracle, Jim Jagielski the President of the Apache Foundation, and David Speakman the Chief Program Officer of the National Cancer Institute.

There was a lot of emphasis on the “Open Source Process,” how this is becoming more and more main stream.   Now having contribution and participating in an open source process is considered a marked positive on resumes.  The traditional training model for software developers has not emphasized the collaborative tools that now make open source such an effective process.  Working in an open source process teaches collaboration, communication, working in social groups.  Deb Bryant described large numbers of government projects that are adopting open source development methods to lower costs and increase quality of the software.

I personally used this opportunity to pick the some of the brightest brains in Open Source today.   I specifically spent a substantial amount of time speaking with Jim Jagielski, President and Co-Founder of the Apache Software Foundation.  There are several things that came out of this conversation.

1) It’s OK to make money off of Open Source

Sometimes this means charging for software development.  Sometimes it means making money off of sales and support.  We all like to refer to this is “The Red Hat Model.”  Obviously, with a market capitalization of around $65 billion, the Red Hat Corporation has done very well off their investment in time and labor.

When I first started with the OpenEMR project in 2003 I did so as a volunteer to help promote the use of OpenEMR.   I have had a lot of developers and companies ignore me, tell me to shut up, or offer to let me pay them (uh usually $10-15K) to enable my ideas.  Well , I am still here and most of my ideas have been incorporated into the project.  My goal then, as it is now, is to get as many users as possible to start using OpenEMR.  My thought process is that users mean money to software developers.  The more users we have the more developers we would have, then more companies, and finally even more users.  This all means increasing investment by multiple entities into the OpenEMR project.

2) Some seek to get a temporary advantage by not releasing code back to the project.

The biggest danger for these folks is usually the advantage is only temporary and frequently the “advantage” is never actually realized.  An open source project tends to grow rapidly and fill in these holes so that holder of the “advantage” finds themselves on a dead fork.  These guys usually don’t make money as quickly as they expected and fall out of the project after a while.  In my mind, a successful open source project kinda grows like a huge kudzu vine.  It covers everything. 

3) I don’t think you can make “weasels play nice.”  (personal opinion)

Either they “get the concept” of Open Source or they don’t.  Those who do “get it” contribute their code back to the project.  This is why these holes keep getting filled in.  No reason, Jack, Art, Mukoya, and others can’t put some social pressure on those who are not “playing nice.”

4) 90% of the work is being done by professional developers who are being paid by a company to do the work in all of the successful large projects.

5) GPL licensing.

The GPL v2 and v3 are “Strong Copy Left” licenses.  They are very restrictive with what you can, and cannot do, with the code.  This is the strongest threat to those who would like to hide their developed code “for market advantage.”  It is easy to screw this up and the Free Software Foundation likes….LOVES…. to go after offenders.  Curiously, these licenses don’t require attribution.

It is important to understand the GPL licensing.  You other arm-chair legal fanatics check my language here (wink-wink Stephen-Smith).

If you write OpenEMR classes, modules, derivative works, or libraries using OpenEMR GPL’d code, you must release your software (classes, modules, derivative works, or libraries) under the GPL license.  The GPL license in the software licensing world is referred to as “viral” because of this behavior.  If you, for instance, write a script that makes database connections using the OpenEMR database connector class, then you must release the script as GPL.  If you want to write software that you want to keep private (for whatever reason), don’t start with an OpenEMR script, class or module.

The project has encouraged, but does not require, donating the code to the non-profit.  This is done to ensure that we have an attribution to the original copyright holder and to have uniform copyright in the source code.  One of the biggest problems an open source projects face is the uniformity of licensing.  Much of the code has just been created without any attribution.  If you donate code, please, at the very least, put your name on it.

6) Changing to a less restrictive license would be very difficult.

These easiest way to change to a less restrictive license is to write the whole thing over from scratch.  This sounds a bit “loony” but there are reasons to consider this.  Very large successful projects such as Mozilla and Apache use permissive licenses that allow much easier development of “privatized code”.  The main requirement is that there has to an attribution and the attribution cannot be removed.  The main advantage of using less restrictive licensing is the projects tend to attract development investment more quickly.  The Apache Software Foundation now has Seventy different projects.  The ASF requires the developers to donate the code to the project and it has to donated under the ASF license.

7) On professional suicide.

What you should not do, is use someone else’s code and put your name on it.  You will not be defended by OEMR, OSMS, Free Software Foundation or anyone else, if you do this.  Software written by someone without attribution should be left that way.  Don’t read other proprietary code and then start your own similar module.  The chances of cross contaminating your thought processes are too great.

I would love to have a sit down, face-to-face with Stephen-Smith.  He is obviously very knowledgeable and passionate about the licensing issues.  My main goal is to make sure that developers can contribute and feel comfortable with what they are doing.  The traditional openness of our project is a bit at odds with what is best for the project from a legal stand point.  What is best legally is to only accept donation, under one predetermined license, similar to what Apache Software Foundation does.

8) Charging for copies.

The board of directors actually approved this quite a while back, but the way things are set up under Modular Meaningful Use, this won’t work.  Individual practices have to attest that they are using “Meaningful Use Features” with CMS and there is no way the non-profit can affect this in any way.

9) Public-Private partnerships.

I don’t have any problem with setting up public-private partnerships with any single entity providing services to the OpenEMR project.  Out of fairness to all the contributors to the OpenEMR project, OEMR would have to offer similar terms to any company who wants to set up a similar deal.  Referrals should be made in an equitable fashion.

Several entities fall into this type of arrangement: E-prescription services, laboratory services, billing services all come to mind.  The end user will be open to select the vendor of their choice.

All of these services involve sending or receiving protected health data from an end-user clinic or practitioner with third party entities who are invariably using proprietary software.  (notice I am not an attorney, but tend to rush in to offer my lay opinion any way).  To me these services make useful legal DMZ zones that keep the OpenEMR GPL’d software from directly interacting with the proprietary services of say SureScripts, Quest, LabCorp, Spectrum, BC/BS, Aetna, Cigna and others.  These almost invariably involve signing non-disclosure agreements and other documents that are the antithesis to any GPL’d project (legally and socially).

The typically way to accomplish this is to interact with another service over TCP-IP protocol (not system calls). 

OpenEMR :left_right_arrow: Open Source permissive licensed engine (like a Java Servlet, Tomcat server, MIRTH) :left_right_arrow: Proprietary Vendor Service (Uhh….like SureScripts).

So Shameem, I ave no problem with your proposed agreement as long as you understand that if others want to participate will will need to do this in an equitable fashion.  If yours is the only billing company then you get first crack.  The only requirement that I can think of from the OMER perspective is that we need to be fair when more than one vendor is involved, transparent, and vendors are contributing all of their code back to the project will get higher priority than ones who don’t.

10) Grants

Grants are hard.  OEMR only recently received the 501©(3) designation.  Hopefully this will make things “easier”, but they still take a lot of time and effort, especially federal grants.  There is only one of me and I do all this mostly as an unpaid volunteer.  If you are interested in helping with the grant writing process or can do some background work on what agencies may be willing to help fund this project please let me know.  I really need “doers” not just “talkers.”

11) Hey! You can still donate!

Can’t argue with this one.

Sam Bowen, MD
http://oemr.org

The OpenEMR logo and any trademark actually belongs to me, personally.  I had this created back in 2004 and have been letting the non-profit use it under the Free Document License with no enurement to me.

aethelwulffe wrote on Monday, April 04, 2011:

10.  Grants are wicked hard.  So are the bid packages I put in (again and again) usually all for nothing.  I just put in three weeks of wee-hours just to get one shitty little grant that only pays for some equipment that I will give out to students at the end of their class.  I find it easier to panhandle among the megayacht guys for donations than hitting up institutional grants or sub-grants.  Also, no, alas:  We shall likely ne’re sell a t-shirt, but hey, I’m needing some new shirts myself, and I can always use another java mug!

  Dr. Sam, thank you (and Tony) for plugging away POSSCON.