[Ocs] [rant] comments on open-collaboration-services
Frank Karlitschek
karlitschek at kde.org
Sun Dec 25 05:05:14 PST 2011
Hi Thomas,
thanks for the feedback.
Most of your critics are addressed in the upcoming version 2.0 of the OCS spec.
I know that I´m behind schedule here. I´m very sorry.
We will use as many existing specification as possible of course. Please note that OCS is older than OpenSocial for example.
Best Regards
Frank
On 21.12.2011, at 11:25, Thomas Koch wrote:
> Hi,
>
> I'm writing my bachelor thesis on REST and person/contact information[1]. By
> incident (via Enrico Zini's Talk on Debconf11 about app installers) I found
> open collaboration services, which also contains person informations and the
> common wrong claim to be restful.
>
> Since I care about free software I dare to give a few comments from my first
> impression. I'm sorry if I should get anything wrong.
>
> a) OCS is not restful for several reasons[2], e.g.:
> - predefined URIs (templates) instead of discoverability
> - no reuse of existing media types (see below)
> - meta data in the body instead of in the header
> - GET/POST/PUT and DELETE are already specified in REST (HTTP). Respecifying
> them means either that they're misused or that the specification is redundant.
> - "URL arguments" are a very good indicator of a non restful RPC-over-HTTP
> like API. An URI is an identifier, not a place to put procedural parameters.
> The method is GET and it has one required parameter: the URI. Several other
> optional parameters are specified in the HTTP request header.
>
> b) Use descriptive tokens instead of (or additional to) numbers (type, status,
> ...). The extra bytes are well invested to ease development and
> "debuggability".
>
> c) Reuse existing HTTP status codes and don't blow your specification by
> reiterating things that are already specified elsewhere.
>
> d) Reuse existing standards and media types. Candidates could be:
> vCard/xCard, Activitystreams, ATOM especially ATOM categories, iCal Events,
> oAuth2, oStatus
>
> e) It's especially sad, that there was another attempt to represent person
> data inside freedesktop which also didn't look for existing standards:
> http://groups.google.com/group/desktop-
> couchdb/browse_thread/thread/4dbac2e9d03aaa5d
>
> There may be other standards that I'm not aware of for example to declare
> dependencies between software, maybe here?
> http://open-services.net/
> http://en.wikipedia.org/wiki/Description_of_a_Project
>
> OpenSocial is similar in some regards but also a non restful standard and
> shouldn't be taken as a model. But at least it is supported by major companies
> and still has an open process. It is an example that even Yahoo, Google, IBM
> and others can produce bad standards.
>
> [1] https://github.com/thkoch2001/bachelor-thesis
> [2] http://kellabyte.com/2011/09/04/clarifying-rest/
>
> Regards,
>
> Thomas Koch, http://www.koch.ro
> _______________________________________________
> Ocs mailing list
> Ocs at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/ocs
Frank Karlitschek
karlitschek at kde.org
More information about the Ocs
mailing list