CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • APIs and Hooks (Moderator: Donald Lobo) »
  • Salesforce.com API support policy
Pages: [1]

Author Topic: Salesforce.com API support policy  (Read 4166 times)

dharmatech

  • I post frequently
  • ***
  • Posts: 280
  • Karma: 53
    • dharmatech.org
Salesforce.com API support policy
June 02, 2009, 06:18:00 pm
For comparison, here's the Salesforce API Support policy.  Notice that they treat API changes as a serious matter.  In my experience, this is necessary to build a viable developer community.

-- Walt
http://dharmatech.org
oss@dharmatech.org
801.541.8671

cap10morgan

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 9
Re: Salesforce.com API support policy
June 02, 2009, 06:49:20 pm
100% agreed. This is a useful guide / goal to shoot for. Thanks for posting.

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Salesforce.com API support policy
June 02, 2009, 07:43:51 pm

I do agree that this is a worthwhile goal to shoot for. however we should remember a couple of things:

1. salesforce costs money for a significant chunk of folks (http://www.salesforce.com/crm/editions-pricing.jsp)

2. civicrm is open source. Which also means that community development practices replace the $$$ part of salesforce.

and that involves all of us stepping up significantly to help close the gaps, improve our development and testing process, modify / radically alter the way we do some things etc. Developing a full fledged robust stable API takes a lot of time, hours and effort etc. its not a cheap endeavor

so what commitment are folks willing to make and sign up for? specific goals that you want to achieve and hours/week that you are willing to commit would be a good first step

lobo


A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

cap10morgan

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 9
Re: Salesforce.com API support policy
June 02, 2009, 08:05:26 pm
If we identify and build the community of API users into a set of API developers, testers, and documenters, then we can achieve anything Salesforce.com can. It will take longer, but there are plenty of open source projects that do it well.

Also, I think we've outlined a pretty good set of specific goals that we're committed to achieving here: http://wiki.civicrm.org/confluence/display/CRM/API+Conventions

I can't commit to a specific number of hours / week right now, but I plan to continue working towards this goal along with whoever else is interested in helping (and I think Dev Camp proved that there are several people who fall into that category).

Those of us in the non-profit world can also fundraise to support specific API projects (or components of projects) that either the core devs work on or outside vendors work on (and contribute to core). I'm doing this now with a project proposal that's in the works.

Vendors can make sure they stress to their paying clients how much it is in their (i.e. the clients') best interest to have API improvements committed to the core.

And people working with the API can make sure they keep bugging me (and others) to help them contribute to this effort if they're stuck somewhere or not sure where to begin.

dharmatech

  • I post frequently
  • ***
  • Posts: 280
  • Karma: 53
    • dharmatech.org
Re: Salesforce.com API support policy
June 03, 2009, 09:16:07 am
In my opinion (which is based on observations made while developing contributed modules) establishing a long interval between incompatible changes is essential to getting community contributions.  Every incompatible API change mows down the existing contributed modules.  After a period of time some of them are working again, but many just die on the spot.

It costs the contributors money and effort to change their contributed module.  In the case of a module which is not widely adopted, which is incidentally likely to be true with a new idea that is not obviously valuable, the contributor might decide instead to just hack up their own copy for their particular need and not bother trying to make it more generally useful.  This means the community, as such, becomes smaller and it might eventually fall below critical mass.

Here's a practical example:  The Drupal 5 send module stored information in CiviCRM 1.9 if it was installed.  When CiviCRM 2.0 came out with an incompatible API change, send stopped working.  We had a debate about whether to try to fix it or replace it with another module that didn't try to talk to CiviCRM.  Finally we decided for various reasons to replace send.  That debate would not have been necessary without the incompatible API change.  I haven't looked at the send module for a while, I don't know if was ever upgraded.  The net result is that the contributor community is that much smaller.

In the case of the Drupal contributed modules, a nice feature is that so many different people try different ideas to solve similar problems.  We can download various modules, try them, and see which ideas work best.  This is a process that gathers momentum as it goes on.  Of course after a couple of years an incompatible API change comes along, kills the dinosaurs and samsara continues  :)

-- Walt

 
http://dharmatech.org
oss@dharmatech.org
801.541.8671

cap10morgan

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 9
Re: Salesforce.com API support policy
June 03, 2009, 01:54:24 pm
Correct me if I'm wrong, but doesn't the Drupal API remain stable throughout major versions? I.e. the Drupal 5.x API is stable, but they reserve the right to break it in 6.x, right?

Assuming I'm right about that, that's the same as what I'm proposing for CiviCRM. Stable API throughout 2.x (once we get it cleaned up enough to freeze), and then we can break it for 3.x (but it will again be kept stable throughout the 3.x life cycle).

Does that seem like a reasonable proposal?

dharmatech

  • I post frequently
  • ***
  • Posts: 280
  • Karma: 53
    • dharmatech.org
Re: Salesforce.com API support policy
June 03, 2009, 03:25:06 pm
Quote from: cap10morgan on June 03, 2009, 01:54:24 pm
Correct me if I'm wrong, but doesn't the Drupal API remain stable throughout major versions? I.e. the Drupal 5.x API is stable, but they reserve the right to break it in 6.x, right?
Right
Quote from: cap10morgan on June 03, 2009, 01:54:24 pm
Assuming I'm right about that, that's the same as what I'm proposing for CiviCRM. Stable API throughout 2.x (once we get it cleaned up enough to freeze), and then we can break it for 3.x (but it will again be kept stable throughout the 3.x life cycle).

Does that seem like a reasonable proposal?
The more important issue is, how many months is the API specification valid?  In the case of Drupal, they have been on a long enough cycle that the six or so months that it takes for the contributed modules to catch up leaves about 18 months of real world use.

-- Walt
http://dharmatech.org
oss@dharmatech.org
801.541.8671

abrookins

  • I’m new here
  • *
  • Posts: 21
  • Karma: 5
    • Redspire (Blog)
Re: Salesforce.com API support policy
June 04, 2009, 09:50:25 am
Quote from: Donald Lobo on June 02, 2009, 07:43:51 pm
so what commitment are folks willing to make and sign up for? specific goals that you want to achieve and hours/week that you are willing to commit would be a good first step

After having worked as a developer on CiviCRM/Drupal projects for the last 8 months or so, I've gained a real appreciation for CiviCRM and its community.  But until now I have been too busy to contribute in any meaningful way. 

I hear you, though.... Somebody's gotta do it, and we're all busy.  ;)

I can commit two hours per week in some capacity to working on the API.  Depending on what happens with my schedule over the next few months, that number could go up.

Quote from: cap10morgan on June 02, 2009, 08:05:26 pm
If we identify and build the community of API users into a set of API developers, testers, and documenters, then we can achieve anything Salesforce.com can. It will take longer, but there are plenty of open source projects that do it well.

I think the goals at http://wiki.civicrm.org/confluence/display/CRM/API+Conventions look good.  I can talk with someone in private to try and match up my experience and skills to the right area, whether that's testing or documentation or development. 

Andrew

cap10morgan

  • I post occasionally
  • **
  • Posts: 56
  • Karma: 9
Re: Salesforce.com API support policy
June 04, 2009, 09:56:04 am
redspire: Cool. The biggest thing that needs to happen now is for someone to work with Aaron Crosman to reconcile his ideas for improving the REST interface with the API standardization plan. Some of the stuff in the standardization plan is designed to make the current REST interface work across the API (currently it does not), but I think Aaron's plans will relax the requirements a bit. So it would be good to see where we can do that since there's no point in forcing a particular convention on everyone for no reason. :)

And then in general the API improvement project needs a champion / driver who keeps the rest of us on the ball and working towards our goals. It's looking like I may not have time to do that (I have to concentrate on getting multi-org right for 2.3), but I should have some time to contribute to the project. If you want to do that, I can tell you who has already committed to doing what and help you get in touch with them.

Thanks for stepping up!

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • APIs and Hooks (Moderator: Donald Lobo) »
  • Salesforce.com API support policy

This forum was archived on 2017-11-26.