Mike,
         
        yes
            I am pretty sure it is a misunderstanding so I kindly ask
            for some more clarification.
         
        What
            kind of code do you have in mind when saying "code
            first" other than an existing a product,
            when at the same time you write "Personally I
          think that specifying something before (a) it has been
          implemented and (b) the market has demonstrated an interest in
          it, is unlikely to succeed."? Only
            a product which is already implemented and publicly
            available is able to fulfil (a) and (b). Can you please make
            an example of what kind of artifacts type we talk about
            here?
         
        This
            does not imply the smallest common denominator of ALL
            existing products. It just means that SOME (at least one)
            product already must have such a feature before it is added
            to the spec.
         
        -Markus
         
        
         
        
          
            This is just a misunderstanding.
            
            I have said many times that we want Jakarta EE to have more
            of a "code first" approach to innovation, rather than the
            old JCP approach of "spec first". (Interestingly, the JCP is
            simultaneously evolving to a similar model so that it can
            better serve the needs of OpenJDK.) 
            
            I never meant to imply that future specs would simply be the
            lower common denominator of vendor's products. What I meant
            was that as an open source community we should try out
            experiments in code, and then specify when we have some
            reason to believe that the code is useful. I think we can
            all think of EE specifications in the distant past that
            could have benefited from such an approach. 
            
            Most of this "code first" thinking was about new specs. How
            existing specs are evolved up to the spec projects
            themselves. Personally I think that specifying something
            before (a) it has been implemented and (b) the market has
            demonstrated an interest in it, is unlikely to succeed. But
            this class of concerns can be addressed by tight iterative
            development of the spec, TCKs and one or more open source
            implementations. 
            
            None of this is meant to imply a free-for-all. Writing a
            spec that the vendors won't implement is useless. But so is
            writing a new version of an existing spec with zero useful
            innovations. That dynamic drives the difficult negotiations
            necessary in any spec process --- arriving at the correct
            balance between great ideas and what can realistically be
            implemented.
            
            HTH
            
            On 2018-09-11 1:53 PM, Markus KARG wrote:
         
        
          Mike,
           
          in
              fact you told me in person at ECE 2017 that you do NOT
              want specifications to be developed first, and then added
              ontop of the products, but that you want the
              specifications to describe the EXISTING features of the
              existing products. I can't help it if you didn't want to
              say or imply that, but it was what I (and others in the
              room) understood. This might be a misunderstanding, so
              let's restart from scratch:
           
          So
                a specification project MAY invent new features in the
                specifiation FIRST, before ANY product actually
                implements this? Good for us! :-)
           
          -Markus
           
          
           
          
            On 2018-09-09 7:18 AM, Markus KARG
              wrote:
           
          
            Unfortunately
                this is not the EFs official policy. According to EF
                  president Mike Milinkovic, all EE4J API projects shall
                  NOT force features
                  from vendors, but instead shall only wrap existing
                  features under a common hood.
                What I did is adding feature to API AND to Jersey
                parallel, and encouraged other vendors to follow.
          
          
            Markus, 
            
            I don't recall ever making the statement above. It's
            possible that there's been a misunderstanding.
            
            I do expect innovation to happen in the specifications once
            we get the process going. There will have to be some
            give-and-take between the aspirations of the community and
            the vendors who have to bear the cost of implementing them.
            But I see that as a normal part of any specification process
            that desires to deliver new innovations.