Alex and Josh bring up good points.

I’m thinking that I should step back and figure out what I was trying to 
accomplish by suggesting that we accept these APIs.

In fact, I think it’s time we figure out exactly what FlexJS actually is.

The motivation to accept the code into FlexJS was really to empower users to 
have access to great APIs and capabilities. However to say that any cool 
functionality should become part of the core product probably does not make 
sense. Case in point: I’m currently working on FlexJS support for CEP panels in 
Adobe extensions. I think it’s great functionality, but I don’t believe it 
belongs in the Flex repo.

To address the question of exactly what belongs in the FlexJS repo, I think we 
need to address exactly what is the identity of FlexJS actually is. Different 
folks would probably have different definitions, but here’s what I think:

1. It’s the compiler which turns MXML and ActionScript into Javascript.
2. It’s the paradigm of composing apps using MXML.
3. It’s a set (or sets) of components which is built with this paradigm in 
mind. (similar to mx and spark components in the classic Flex framework.)
4. It’s the infrastructure which enables tools to take advantage of this.

I think that’s pretty much it.

Based on this definition, drawing APIs are probably not “Flex core”. In fact, 
some of the other packages which already exist are probably also not Flex core 
(such as GoogleMaps).

These are all useful things, but trying to include all useful things will cause 
a lot of bloat and actually probably stunt community growth. Until our focus 
was how to grow the Apache Flex community. I think we’ve come to a bit of a 
cross-roads here, and we need to figure out how to help grow the community 
OUTSIDE Apache.

What would accepting these APIs accomplish? I think primarily three things:
1. Give the APis visibility.
2. Help promote others to work on them.
3. Make it easy for clients to use them.

These are generalized problems and I think we need to solve them in a 
generalized way so the next person who comes up with some other awesome classes 
will have these problems solved as well. If someone builds some cool stuff 
around FlexJs, we should not need discussion to make them useful and usable.

Here’s some ideas I came up with while thinking about this:

1. We need a way to find tools and libraries that support FlexJS.
2. We need to help external libraries automate builds of swcs. I think it would 
be really useful to publish some docs with a recommended workflow for Github to 
do this.
3. We need some kind of central repository of FlexJS swcs outside Apache. There 
should probably be two classes of swcs. Ones that are strictly externs, and 
others which actually compile into Javascript code.
4. I think we need a system to create an automated build of Definitely Typed 
definitions into FlexJS swcs into a centralized repo. I think  Github has hooks 
you can use to trigger things when their repo changes.

If these four points are addressed, I think it’ll do a lot to build the greater 
community without adding all kinds of peripherals into the core FlexJS repo. 
(and much more effectively as well) It’s not necessary for Apache Flex to 
address all these directly. If the community at large addresses some of them, 
that’s also fine (or maybe even better).

Harbs

On Apr 19, 2016, at 6:39 PM, Josh Tynjala <joshtynj...@gmail.com> wrote:

> I've always thought that someone implementing the Flash classes is a good
> idea, but that it makes the most sense as an external project. In other
> words, not included with Apache FlexJS. There's nothing wrong with external
> projects. In fact, they're a sign of a healthy community! We should be
> encouraging them and promoting them.
> 
> I agree with Alex's points that including the Flash classes in FlexJS will
> set expectations of compatibility that may not be desirable from our side.
> It also keeps FlexJS bound to the legacy of Flash, instead of showing that
> the project is evolving into something new and interesting.
> 
> - Josh
> 
> On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui <aha...@adobe.com> wrote:
> 
>> 
>> 
>> On 4/19/16, 12:01 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> webgl is not a very good name, because a lot of the code is actually
>>> canvas rather than webgl.
>> 
>> OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
>> could be in the package name.
>> 
>> Actually this might be a good time to discuss names in terms of business
>> models.  Lizhi, I want to make sure you are aware that whatever name we
>> put on your code base will belong to Apache and you won't be able to sell
>> software using that name.  This is a public mailing list, so feel free to
>> not answer or write me directly, but an important point is this: I'm not
>> sure how you plan to keep contributing to the SpriteFlexJS code, but if it
>> involves selling the software what most people do is come up with two
>> names, one for the for-profit software and one for the open source code
>> base.  For example, the Apache Subversion project doesn't let other
>> for-profit products be called Subversion, but they can use SVN.  Adobe
>> PhoneGap is a for-profit product based on Apache Cordova.
>> 
>>> 
>>> What might make more sense would be to keep all the flash packages as
>>> experimental, and if we can identify robust piece of the package, we can
>>> repurpose some of the code to be in separate packages.
>> 
>> Another option is that we don't bring in all of this code right away.
>> Didn't this thread start based on interest in Lizhi's ByteArray?  Lizhi
>> could donate that one file and we could use it under a different package
>> name.
>> 
>>> 
>>> I see value in keeping the flash packages as such, because it will likely
>>> help spur more people who want complete “flash-like” APIs to do work on
>>> it. As Lizhi points out, there are incomplete areas in his code.
>>> 
>>> As far as demand for Flash and Starling goes: I expect that folks who
>>> want more support will have to help out in improving it. Again, I hope
>>> this will help attract more people to work on it.
>> 
>> In short, I'm just wondering if the work on Flash and Starling is Flex.
>> Should it have its own community?  FlexJS will hopefully have many
>> customers and not all of their code should be in our code base.
>> 
>> -Alex
>> 
>> 

Reply via email to