Some thoughts from Oluseyi about forking Pencil

Oluseyi, one of the programmers who was developping (the old) Pencil, did answer to some questions recently on the forums of pencil-animation.org.

Some parts of it :

This is why the project needs strong leadership. By far the most important thing in an open source project is to make it easy for people to download, compile and run the source code. In the case of Pencil, the required third party libraries (Qt and its spinoffs, some now dead such as Phonon) are not the easiest thing to download and configure, especially if people need to find a specific older version. One of the things I was working on for Pencil v0.5 was "vendor branches": pulling in specific revisions of third party libraries so that a full checkout of the Pencil repository included everything you needed to build. I would certainly recommend that as a priority for any would-be forkers.
Well, this could be a good idea...

About the choice of C++ and the possibilites to rewrite it in another language :

One of the challenges of forking Pencil is that it's written in C++, which not as many programmers as you would assume are skilled in. In particular, C++ (still) has an extremely finicky compilation/build process, so setting a project up to build cleanly for multiple platforms and with third party libraries can be nontrivial. On the old developer's mailing list the idea of porting Pencil to another language (Java was suggested) came up more than once. I cautioned that full rewrites are huge tasks, and often falter under their own weight. Essentially, anyone looking to fork Pencil needs to be committed to its current implementation and dependencies for at least a while to come.
About the possibility to use this website as a "hub" for Pencil forks (but i'm not so sure about this idea, maybe it is more useful to work on a single project) :
If you're serious, I'd recommend the latter: make it a general hub for the Pencil community, developers and users alike. Host an open submission gallery (and maybe even get a developer to add direct submission from within Pencil as a feature) and link to all significant branches and repos contributing to further Pencil.
About you, @chchwy :)
Well, the thing is: how do we know if he's any good? It's up to a developer to at least follow through and produce something, and in so doing rally a community around the project. People don't spontaneously get behind projects just because of ideas—or, rather, they do, but such projects tend to fail. Let results, not hope, guide you.
That is probably a good advice :) Matt, don't be mad at him, he's suspicous by principle :
It's about trust: I don't particularly trust kdenlive, but I do trust KDE: it's a well-established, well-known project that can ultimately be traced back to real people with reputations to maintain. That would give me the confidence to contribute to a kdenlive crowdfunding campaign, if I felt I could benefit from it.

I don’t have any reason to trust anyone associated with Pencil’s development—and I worked on it! I’d recommend forgetting about raising funds or using money as a motivator. Finding people driven by a passion for animation and technology may take longer, but it will be more sustainable in the long term.


And finally, about the idea of a funding campaing :
Personally, I'm not a fan of funding campaigns for open source projects. I'm particularly not a fan of funding campaigns for open source projects being developed by unknowns not under the auspices of any reputable organization and which have not yet demonstrated viability on their own. I suspect that any attempt at crowdfunding the [re]development of Pencil will fail for exactly those reasons.
Well, I think this is very interesting. This guy has already experienced Pencil's developpement and already thought to a lot of the questions we will have to ask...

He’s probably right about a funding campaing. But participating to the Google Summer of Code,… Well, I don’t know how to apply there and if this could work for this project, but we should think about it !

A short response:

a. Make it easy for people to download, compile and run the source code.
I believe it’s easy enough now. It takes less than 10 min to build pencil from source after a C++ compiler and Qt Library installed. I’ll make a step by step guide recently. (both Windows and OS X)

b. C++ or other language?
C++ is the best choice now. All well-known cross-platform GUI frameworks, Qt, GTK, wxWidget, are written in C++. I know C++ is complicated, but it provides performance and abstraction.

Java? no. Java is known as “write once, debug everywhere”. Java is not good at desktop GUI app, either.

A better choice is python. MyPaint use python to build GUI, but they still use c++ in brush engine due to critical performance issue.

c. how do we know if he’s any good?
Let’s see. Let results guide you. :stuck_out_tongue:

we have a long way to go, but don’t worry, we are moving forward.

Ah ah ! You made a perfect score, that’s a first result !