On Mon, Dec 17, 2012 at 3:47 PM, Kevin Swiber <
ksw...@gmail.com> wrote:
>
> On Dec 17, 2012, at 10:11 AM, Mike Kelly <
mikeke...@gmail.com> wrote:
>
>> I think you're missing my point. The semantics of PUT could be changed
>> to unambiguously allow both partial and full usage.
>>
>> This would not present a breaking change to either those using PUT
>> partially _or_ fully.
>> The same is _not true_ of the actual change Roy has made, as it
>> _prevents a usage which has been deployed due to the historical
>> ambiguity_.
>
>
> Let me try to boil this down so we can wrap it up...
>
> When it comes to influencing how developers use HTTP and whether or not they should go against the grain...
> Argument 1: The number of partial PUT implementations is likely small and therefore insignificant.  Follow the edits to the spec as outlined by the httpbis group.
> Argument 2: Supporting partial PUT is significant regardless of how many implementations are out there.  Do not follow the edits to the spec as outlined by the httpbis group.
I don't think "the number of partial PUT implementations is likely" is
a small assumption.
> Partial PUT has not made it into any specification.
Disagree, I already addressed this point..  It was possible to read
partial PUT into RFC2616, hence why there are very popular frameworks
for building APIs (e.g. rails) that take it as given and why Roy felt
he had to disambiguate it with an HTTPbis edit.
> If you really feel this is important to the Web, you should fight for it on the right mailing list where these changes happen.
I have, I've attempted to discuss this with Roy who quickly became
aggravated and apparently avoided taking the discussion further than
"enforcing non-partial-PUT is my idea of principled design and I am
the guy in charge". Not really interested in banging my head against
that brick wall, so instead I'll just explain to people why it is
better for them to ignore all this theoretical "you must do this
because it's in the (revised) spec" nonsense, and decide whether a
wilful violation makes sense for them _in practice_.
> In the meantime, my advice will be from the position of Argument 1, and I will continue to encourage others to do the same.  I'm sure you will continue to advise otherwise.  Let me know if your movement starts gaining traction.  I'd be curious to follow it.
>
> As I said previously, I find this to be a really small part of API design.  There are often bigger fish to fry.  Good luck on your efforts!
Yes. There are bigger fish to fry. We were perfectly fine with
arguably-ok-partial-PUT, or using POST. Now we have some extra method
called PATCH, that provides 0 additional functionality, is causing
confusion, presents a breaking change to an as-yet-unknown-number-of
APIs/libraries/infrastructure, invalidates a whole bunch of existing
documentation around said infrastructure, and potentially opens a
horrible can of worms in terms of encouraging poor identification of
resources.
I'm being forced to repeat myself because, apparently, everybody
advocating "following the spec" isn't interested in advancing the
discussion further than "because it's a spec, and it should be
followed". I can't work out if that's because there is no attempt to
understand the point I'm making or if I am making it badly, or a bit
of both.. but frankly, if we can't move beyond that point I agree - we
should just wrap this up.
Apologies to everyone on the list who has been subjected to yet
another long-winded, repetitive, and boring discussion about partial
PUT! :)
Cheers,
M