Hi Mark,

I think this approach totally makes sense, and the alpha naming exists to
inform this kind of decision-making.

For libraries where the use of spec does not have to be user-facing, I am
putting specs in separate (Clojure) namespaces, and loading them in such a
way that they can coexist with non (or maybe different) spec environments.
But that is extra work for sure.

Stu

On Mon, Oct 2, 2017 at 3:35 PM, Mark Engelberg <mark.engelb...@gmail.com>
wrote:

> On Mon, Oct 2, 2017 at 7:55 AM, Stuart Halloway <stuart.hallo...@gmail.com
> > wrote:
>
>> Hi David,
>>
>> Spec will be in alpha for a while. That is part of the point of it being
>> a separate library. Can you say more about what problems this is causing?
>>
>> Stu
>>
>>
> As a library maintainer, I am forced to upgrade and release my library any
> time something I depend upon makes a breaking change.  I don't get paid for
> maintaining open source libraries, it's something I do in my spare time, so
> I prefer to do it on my own schedule.  When an underlying library makes a
> breaking change, I get dozens of urgent requests from people who need me to
> cut a new release ASAP, and by Murphy's Law, that often happens when I have
> very little time to do it.  It's a nuisance.
>
> Clojure is pretty good about not making breaking changes, but it happens
> from time to time.  Clojurescript is less good about not making breaking
> changes, and therefore, maintaining Clojurescript libraries is more of a
> headache.  On the plus side, Clojurescript users seem to care very little
> about backwards compatibility (most keep up with the latest version), so
> sometimes it is easier to make a change to keep up with a change in
> Clojurescript than one in Clojure, where I am expected to not only support
> the latest breaking change, but also the last several releases.
>
> Anything that is labeled as "alpha" is waving a big red flag that there
> could be breaking changes at any time with little warning.  For my
> libraries which depend on spec, there's no way I'm going to bring them out
> of alpha status until spec comes out of alpha status.  If I make an
> official release of something that depends on spec, then I'm going to be on
> the hook to rapidly cut a new release every time spec changes, which could
> be at any time.  I don't want that hassle.  I don't want to make a promise
> to the community to maintain a stable product if the thing I depend upon
> has not made a similar promise.  When spec reaches a point where the API
> will not be changing, or rather, when we know that new changes will only be
> additive, I can begin to trust that it won't be a huge maintenance headache
> to release something based on spec.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to