SFML community forums

General => General discussions => Topic started by: Cornstalks on February 11, 2013, 10:11:55 pm

Title: More Community-driven Development
Post by: Cornstalks on February 11, 2013, 10:11:55 pm
Currently, Laurent is pretty much the only SFML developer (with Marco doing OS X stuff). This is nice because there's a good level of consistency and sanity maintained in the codebase. However, we also only get a handful of commits each month (http://github.com/LaurentGomila/SFML/commits/master), meaning things move quite slowly.

I've worked a little bit on other open source projects, like FFmpeg, and while FFmpeg has a much greater learning curve, I feel like it's easier to contribute to it. There are a number of people who have said "X would be a good idea/feature" and Laurent will say "Yeah, but it will require a decent amount of changes to SFML so don't do it; I will do it to make sure it's designed like I want it to be," which means users end up waiting on Laurent rather than being able to contribute.

This isn't necessarily a bad thing, as I've said, as it helps with a consistent and clean API in SFML, but I feel like SFML could really benefit from more community contributions and I'm wondering how that can be stimulated while still keeping full control in Laurent's hands.

There are, of course, a list of bugs the community can work on fixing (and hopefully I'll get to contribute to this during this summer), but there are other features that I know people are itching to have (like Android/iOS and OpenGL|ES 2.0 support) or other road blockers (like documentation/web stuff for the 2.0 release) that I think people would love to contribute to.

What would help encourage the community to contribute? Here are some of my thoughts, and I'm hoping others can contribute ideas/suggestions/comments:

More road maps or architecturing. Particularly, for things where Laurent says "Don't work on this, I'll do it so I make sure it's done how I want it," what if instead a skeleton/architecture was designed so that either Laurent can fill in the skeleton/architecture himself or someone else can implement it and send a pull request. That way the API and design will stay how Laurent envisions it, but eager users can contribute instead of wait.

A web page for contributing. There's some instructions at the end of SFML's README, but they're quite minimal and nowhere on the website. I think if there was a "Contribute" tab on the website that talks about contributing and helps users get involved in contributing to SFML, that would help.

Prioritized issues. If I want to contribute to something, I'd like to know what you'd like me to contribute to. Sure, contributing to any issue is nice, but prioritizing issues (maybe with tags (http://programmers.stackexchange.com/questions/129714/how-to-manage-github-issues-for-priority-etc)) will give people a sense of what needs contributing the most.

Mini intro to working with github (and pull requests). I'm more familiar with the mailing-list style patch submission and review, like is done with FFmpeg. I just spent the past while poking around github trying to figure out how pull requests work and if I submitted a patch, how it would be reviewed and (if needed) updated/fixed. I think I understand how it works now, but if the entry barrier can be minimized as much as possible I think people will be more inclined to contribute.

Any other ideas, or any responses to these ideas?
Title: Re: More Community-driven Development
Post by: Laurent on February 11, 2013, 11:07:42 pm
Good idea. I'll let the discussion grow before answering :)

Quote
However, we also only get a handful of commits each month, meaning things move quite slowly.
Keep in mind that since the RC (approximately 1 year ago), I mostly worked on the documentation, tutorials and website. So the lack of commits doesn't mean that things progress slowly, just that there's not just code ;)
Title: Re: More Community-driven Development
Post by: Jebbs on February 12, 2013, 12:43:50 am
I think this is a fantastic idea. Not only could it lead to getting SFML features/bugs taken care of faster, but an active community will help bring in more users. And I'm sure various people would be able to contribute more than just code work. For example:

I mostly worked on the documentation, tutorials and website.

There are many intelligent and experienced SFML users (ie, not me) who could work on things like tutorials and possibly documentation. Hell, eXpl0it3r writes example code and explains things to people all the time. Being able to delegate certain tasks like these to people would give you (Laurent) more time for those important fixes and features instead of eating up all that time.
Title: Re: More Community-driven Development
Post by: Sui on February 12, 2013, 09:29:58 am
The skeleton suggestion is a good one. Laurent can maintain architect status and other coders can be allocated to fill in the meat of the code (sticking with the skeleton metaphor). Before I read the post in full, my first thought was Laurent controlling interfaces.

Laurent has done a brilliant job with SFML but functionally SFML is being left behind by other libraries/tools like Mono Game, Unity and Monkey. I appreciate these have commercial licenses for mobile tech.

Microsoft's Direct-X only on Metro (Windows 8 touch) apps decision means Direct-X code will need to be integrated into SFML to support Windows 8 fully. This is almost a rewrite of SFML (interfaces aside).

I would like to contribute if/when something is set up. Need to find a way to manage my time... discussion of that topic is for another thread!
Title: Re: More Community-driven Development
Post by: Tank on February 12, 2013, 12:19:44 pm
Maybe some words from the SFGUI front may help.. I'm aware that SFGUI is not as widely spreaded as SFML, but we are already far beyond the 1,000 downloads mark and also received quite some contributions in form of patches -- also *after* we moved away from GitHub, which made it even harder for people not being familiar with Git in multi-user environments.

1) We tell contributors to discuss new features with us on the forum/IRC before starting work on something. The reason is that we have a roadmap in mind, and we want SFGUI to follow a specific route. We don't want people to send in patches which don't get accepted because we planned something differently.

2) We gently ask contributors to follow our guidelines, which have been written down in a textfile. You can't cover everything, that's for sure, but most contributors follow them. If there's something wrong, you can ask the contributor to adjust the patch, so that you can accept it (important: Tell them that it's already *accepted*, it just needs some adjustments!).

3) Be actually open for contributions: If someone is willing to work on something and you're fine with the feature, let them do it. Give them information for guidelines, requirements etc., and when they're done, discuss the patch or just accept it.

4) You're not giving away control, you're giving people the opportunity to work *for* the project. I can often feel Laurent's fear of losing control of SFML. ;) But that's really unfounded. What makes its way into the master tree is completely up to the maintainer. It's like the Linux kernel: Hundreds of people are writing code, and through a hierarchy of trust and control mechanisms, patches make their way up to Linus, the last point of control.

5) Be more verbose with your own plans, roadmaps and ideas. Use public services to manage your todos and progress, like the GitHub tracker. This is mainly important for coordinating work and for other people being able to see what's happening at the moment and where they can jump in (basically what Cornstalks said; he has some strong points IMHO).

6) It's fun! :)
Title: Re: More Community-driven Development
Post by: eXpl0it3r on February 12, 2013, 01:06:12 pm
I quite agree with Cornstalks and it has been bugging me for a while now.

It would be really nice if we as a community get more information on the current development status and the future plans and also get the chance to contribute to things like website development.

There are many intelligent and experienced SFML users (ie, not me) who could work on things like tutorials and possibly documentation. Hell, eXpl0it3r writes example code and explains things to people all the time. Being able to delegate certain tasks like these to people would give you (Laurent) more time for those important fixes and features instead of eating up all that time.
I'd gladly help writing tutorials or similar things, but as Laurent said many times in the past, it's something he feels has such a high importance, that he wants to do it on his own.
I can kind of understand that, but in return would also expect that things get done within an 'usual' time frame. Life can be quite hard, with a family, a full time job and all the other surrounding stuff, but working on some simple tutorials for over half a year, which automatically lowers the work on the actual code, is not very usual to me. That's just my opinion - I'm long over this issue and don't really mind the delay anymore. :-\

Microsoft's Direct-X only on Metro (Windows 8 touch) apps decision means Direct-X code will need to be integrated into SFML to support Windows 8 fully. This is almost a rewrite of SFML (interfaces aside).
I'd say it would be way easier to connect the OpenGL backend with something like ANGLE (https://code.google.com/p/angleproject/), which again would need a port to OpenGL ES...
Title: Re: More Community-driven Development
Post by: Foaly on February 12, 2013, 05:04:00 pm
I have to agree with the other people. I think it's a great idea, if other developers where able to contribute to the SFML. It has also been bugging me, that the development of the library has been basically stopped for almost a year now. With development I mean addition of new features. Of course there have been a lot of (awesome) bugfixes (like the intel rendertexture bug for example) which is what the RC phase is for. But I think it would be better if the other developers would be able to see a more detailed roadmap and help out and contribute that way.
I also agree with the others, that if a discussion shows, that a feature should be added to the library, Laurent should have the final say on the design, but other people can contribute patches. If they are not up to Laurent's standarts, design or guidelines, he can send them back with a note on what to change. (like the skeleton metaphor or the linux kernel)

edit: prioritizing issues is also a good idea. That way people can see how quick they can expect a bug to be fixed or a feature to be added. It also helps to distinguished between major and minor features.
Title: Re: More Community-driven Development
Post by: Cornstalks on February 16, 2013, 11:04:44 pm
Good idea. I'll let the discussion grow before answering :)
I'm not sure this discussion is going to grow much more :) (though if more people have input that would be awesome!)
Title: Re: More Community-driven Development
Post by: cloudncali on February 17, 2013, 02:43:06 am
There are, of course, a list of bugs the community can work on fixing (and hopefully I'll get to contribute to this during this summer), but there are other features that I know people are itching to have (like Android/iOS and OpenGL|ES 2.0 support) or other road blockers (like documentation/web stuff for the 2.0 release) that I think people would love to contribute to.

I am one of those people :P

I really like this idea and would love to help in any way I can, Though life and helping with GQE keeps me pretty busy I would love to help where I can.
Title: Re: More Community-driven Development
Post by: MorleyDev on February 17, 2013, 03:16:36 am
To play devil's advocate: A problem I see is that whilst a team that works closely together and plans together can maintain consistent coding standards, it's a lot trickier to do that the more separated a team is.

Bug fixes are one thing, but adding whole new feature sets would be something differently entirely. And by setting up a skeleton road map, you runs the risk of being *too* strict. Running too close to the dreaded "Big design up front".

And then when the code smells appear that signal the need to refactor, there's a danger the refactoring may need "permission" to be carried out because of the areas it touches. Which, given the programmer nature to follow the path of least resistance, may result in the resistance of seeking that permission becoming dissuading them from doing the refactoring. And if that happens, DRY principle becomes a distant fairytale.

It's a risk that'd need managing, though one a lot of open source projects probably have to manage. Not all succeed, with code that can be described as a complete and total mess. But not all fail either, managing to keep a very neat architecture that grows smoothly and easily, and stays easy to use.
Title: Re: More Community-driven Development
Post by: Laurent on February 17, 2013, 08:49:53 am
Quote
I'm not sure this discussion is going to grow much more
Yep.

So... I agree that involving more contributors can't be bad for SFML. Right now I'm busy finishing everything for SFML 2, but once it's done, I can think about what you suggested. I think that the 4 points that you mentioned can be a good start :)
Title: Re: More Community-driven Development
Post by: Nexus on February 17, 2013, 11:33:56 am
I wonder whether GitHub pull requests are a good way for community contributions. They don't make it easy to adapt commits before merging them. But adaptions from the repository owner are almost always necessary (code style, commit message, ...), making the web-interface button "Merge this pull request" close to useless. And creating a separate branch for each request can also over-complicate things, if a single commit containing the changes would be enough.

How do you usually handle user contributions?
Title: Re: More Community-driven Development
Post by: Laurent on February 17, 2013, 01:43:40 pm
I find pull requests very useful. First, it makes integration super easy: it's just one click for me. And since I never have much time, it can make the difference between something that is integrated and something that is not.

The Git environment is also perfect for this kind of contribution: you can (very easily) fork SFML, work locally on your own version, rearrange commits if needed, etc. and only when everything is ready for integration, you submit it.

Quote
But adaptions from the repository owner are almost always necessary (code style, commit message, ...), making the web-interface button "Merge this pull request" close to useless
This is not a relevant argument, because (at least for now) I don't integrate something before it is 100% ready. I prefer discussing with the contributor, making him do a lot of modifications to its code if needed, but at least:
- he has the time to do it
- I can then merge its code with one click
- he learns my coding style, making future contributions from him easier

I'm not a big fan of patches, but that would be my second choice. One can clone the repository, work on it, and then export all his modifications to one or more patch files, that I can then apply quite easily. I don't know if the corresponding commits will be marked as being from him or from me, though.

Of course, we're talking about important contributions. If there are only a few lines of code to change then posting them on the forum or sending them by e-mail is fine.
Title: Re: More Community-driven Development
Post by: Nexus on February 17, 2013, 03:34:40 pm
I have to express myself more clearly: I don't question the usefulness of pull requests in general, but the way they are implemented on GitHub with the merge button. If the feature or bug fix contained in a pull request is considered useful, there are often just tiny details that prevent one from directly merging it: Indentation of constructor initializers list, a comment that I myself would formulate differently, etc. Telling all of these points to the pull requester takes a lot more time than simply fixing them. In addition, the GitHub uses a constant tab with of 8 spaces, which makes it necessary to view code in my own IDE to see if things look properly (I know you don't have this issue with SFML).

In short, discussing with the pull requester until everything is 100% correct for a direct merge to master doesn't look like an optimal solution to me. After the major things are fixed, I would probably rather create a branch based on the pull request, which I edit locally until everything is fine, and then merge this branch to master in a single commit. But I'm not sure how the usual approach here looks like, I haven't worked with pull requests a lot.

Also, I think every bigger change should be discussed on the forum, because the comments on GitHub are very limited and questionable (one can simply edit or remove own posts without annotations).
Title: Re: More Community-driven Development
Post by: Haze on February 17, 2013, 03:50:30 pm
Telling all of these points to the pull requester takes a lot more time than simply fixing them.
I find this part questionable, because it seems to me we're talking about:
- dropping a comment on github
VS
- merge the pull request,  open your development environment, make the changes yourself and commit them.

If the contributor needs to apply a couple of another commits to his pull request before Laurent can approve it, of course it will take longer for the pull request to find its way to the upstream repository, but it will probably save Laurent's time overall.
Title: Re: More Community-driven Development
Post by: Cornstalks on February 17, 2013, 04:30:26 pm
I'm not a big fan of patches, but that would be my second choice. One can clone the repository, work on it, and then export all his modifications to one or more patch files, that I can then apply quite easily. I don't know if the corresponding commits will be marked as being from him or from me, though.
If the patches were created with git format-patch, then they will have him as the author and you as the committer. If they just send you a diff instead of a proper patch, then author information is lost and you have to specify it using --author when committing. It looks like this when done (https://github.com/mjbshaw/FFmpeg-OpenJPEG-J2K-Encoder/commit/60f06f986f81c5aa0497c4fa189f50a504896c81).

I prefer to look at patches/diffs, and I've learned that in a pull request on Github, you can click the "Files Changed" tab to get a full diff of the merge request. I think (but I haven't tested so I'm not 100% sure) that if a user adds commits to a pull request (perhaps cleaning up code Laurent points out), then the "Files Changed" tab shows the diff for the pull request in its entirety; that is, the diff also has the new commits applied.

We can also comment on individual lines of a pull request, which gives more or less the same ability as picking appart a patch on a mailing list, as I understand it.

Anyway, I'm looking forward to contributing to SFML someday (probably summer, again).

Edit: accidentally said contributor instead of committer
Title: Re: More Community-driven Development
Post by: Laurent on February 17, 2013, 06:12:46 pm
Quote
but it will probably save Laurent's time overall.
Yep, that was my main concern.

It helps to parallelize work, and to avoid bloating my todo-list: instead of me doing several small tasks, it's dispatched among many contributors who can work on their side. So it actually saves time :P
Title: Re: More Community-driven Development
Post by: Nexus on February 17, 2013, 06:53:29 pm
I find this part questionable, because it seems to me we're talking about:
- dropping a comment on github
- merge the pull request,  open your development environment, make the changes yourself and commit them.
I spoke about tiny imperfections, not big issues that have to be fixed in order to make the pull request merge-ready.

Personally, I find it far more annoying to write something like
Quote
Line 25: Use if (x) instead of if(x)
Line 35: Comment should be worded "// After closing the window" instead of "//window close"
Line 60: Break the line before the third function argument
Line 80: Call template argument T, not Type
Line 92-98: Group the draw() calls together, and clear() and display() with an empty line in between
Line 111: File ends with newline
instead of just fixing those points myself. As soon as there are a lot of such issues (which is likely in a bigger feature request or bugfix), one wastes a terrible amount of time at formulating corrections. If a point is overlooked by the pull requester, I have to write another comment. Each time, I have to look at the code (or at least the diff) to check if everything was implemented correctly. I always have to wait for the requester to adapt my suggestions. If he is inactive, the whole progress stalls. And I still don't see whitespace inconsistences because of web interface limitations.

To perform tiny corrections, I take into account a massive communication overhead.

It depends of course on how picky you are, but I prefer a consistent and clearly understandable code style. And yes, the status quo on GitHub doesn't make it very simple to edit pull requests, but I don't know of any better way than to create a new local branch.
Title: Re: More Community-driven Development
Post by: Laurent on February 17, 2013, 07:10:05 pm
I don't think that you can spot all these tiny issues in a big pull request. You'll rather notice consistent differences between your style and the contributor's style, which can be explained in a short comment.

For the small inconsistencies that you're mentionning, I think they'll rather be spotted later, when looking at or working on the code again, and thus they can be corrected as easily.

Anyway, for now it's not a blocking point for me, so let's try this way. If one day it becomes a pain to review big pull requests, I'll think about another strategy ;)
Title: Re: More Community-driven Development
Post by: Tank on February 21, 2013, 08:55:26 am
I totally agree to Nexus. Personally I don't really like how GitHub handles merging at all. It hides all the power Git provides by doing a 3-way merge all the time, sometimes resulting in very ugly graphs that could have been done better.

When I had projects at GitHub and got a pull request, I added the user's repository to my local remotes, "git fetch --all" and took a look at the commits in question. You can easily make some adjustments, commit them and either merge or rebase them onto your master/current branch.

If you're doing it like Laurent, i.e. merging when everything's 100% sane, then the 1-click merge might be all good. ;) Personally I also like to take a contribution and use it as a base for a "corrected" version or similar.
Title: Re: More Community-driven Development
Post by: Cornstalks on June 18, 2013, 03:25:27 pm
I've been thinking about this a bit, and one thing that I think would really help the community to get involved is to get their names in the commit history of SFML. There are tons of pull requests that seem to get the response "I used your changes as a base but didn't like the way you did things so I rewrote it myself."

I think it's fine to be nitpicky, but I honestly think it would help encourage and motivate others to contribute to SFML if there names actually showed up in the commit history. If you could tell them specifically what needed to change so they could make the necessary changes in order for the patch to be "good enough," I think it would help people better understand the SFML coding style (so their next patch is more likely to need less changes) and it would act as a good boost of motivation to work on another patch.

Thoughts?
Title: Re: More Community-driven Development
Post by: Nexus on June 18, 2013, 04:10:24 pm
Do you really think the main motivation of contributing is to appear in the commit lists? I don't know if it's good to go in that direction, it might lead to people saying "look, I am part of the SFML development" or competitions between users concerning who contributes most, and a lot of trivial commits of which the merge overhead outweighs the feature -- in other words, people who only contribute for the sake of being visible in the commit list. Also, the repository owner shouldn't be under the pressure of applying a commit, because not doing so or implementing it himself (which would be faster in some cases) would appear as "unfair compared with others".

Of course, this is a pessimistic view, but eventually there will be a few people acting like this. In my opinion the motivation should generally be a different one, namely progress. If one really wants to push SFML (and even if it's only to have more features in one's own project), it's probably not too relevant who made which commit, especially not for smaller contributions. If it is (and I agree that notable contributions deserve to be credited), Laurent can still mention the name in a commit message, if that's easier to handle.

And I still find the points in my last post important, but of course it's up to Laurent how this is handled. But you can be sure, even if the SFML conventions are listed again and again, many people will not follow them exactly. In the case of smaller contributions, constantly rejecting commits and hinting to the mistakes takes up much more time than implementing things oneself. You see it in this forum, Laurent made a detailed thread explaining the forum rules and how to post a question meaningfully, yet every beginner ignores it. Sadly, sometimes even users with many posts seem not to care about it.

I'm not saying that people shouldn't be mentioned for their contributions -- but it does not justify a lot of additional effort, such as nitpicking trivial commits. So I would certainly not come up with something like a guideline that enforces the attribution of commits.
Title: Re: More Community-driven Development
Post by: Cornstalks on June 18, 2013, 04:54:46 pm
Do you really think the main motivation of contributing is to appear in the commit lists?
I don't think it's a primary motivation (nor should be), but it's a form of positive feedback. It's encouraging to know you've made a positive impact.

I don't know if it's good to go in that direction, it might lead to people saying "look, I am part of the SFML development"
But aren't they? They may not be a primary/core developer or a maintainer, but they can certainly claim to have helped and contributed.

or competitions between users concerning who contributes most, and a lot of trivial commits of which the merge overhead outweighs the feature -- in other words, people who only contribute for the sake of being visible in the commit list.
I've never had such "dick measuring" (sorry) be an issue in the open source projects I've followed and contributed to. I really don't think that would be an issue.

Also, the repository owner shouldn't be under the pressure of applying a commit, because not doing so or implementing it himself (which would be faster in some cases) would appear as "unfair compared with others".
Oh sure, trivial things are easier to reject, IMO.

Of course, this is a pessimistic view, but eventually there will be a few people acting like this.
I doubt it'll be problematic.

In my opinion the motivation should generally be a different one, namely progress.
In case it wasn't clear, I don't think your name in the commit history should be your real motivation. Progress should absolutely be your primary motivation. But positive recognition can certainly be encouraging and help strengthen your motivation. But even if someone was purely motivated by recognition... well as long as SFML progresses, I don't really care.

And I still find the points in my last post important, but of course it's up to Laurent how this is handled. But you can be sure, even if the SFML conventions are listed again and again, many people will not follow them exactly.
True, but if a clear style/conventions guide was available, all it would take is a one sentence "Make sure you're adhering to this style guide; rejected until fixed." and then you don't have to say any more about the trivial stuff. Either they'll fix it, or it will stay rejected.

In the case of smaller contributions, constantly rejecting commits and hinting to the mistakes takes up much more time than implementing things oneself.
If you've got a clear style guide, again, you can just link to it and say it's rejected until fixed. Make them figure it out. It'll weed out the serious from the not serious.
Title: Re: More Community-driven Development
Post by: Nexus on June 18, 2013, 05:04:08 pm
I doubt it'll be problematic.
Yes, as said it's pessimistic. I just wanted to note that there might also be negative effects, how this looks with this specific project and its users is a different question.

True, but if a clear style/conventions guide was available, all it would take is a one sentence "Make sure you're adhering to this style guide; rejected until fixed." and then you don't have to say any more about the trivial stuff. Either they'll fix it, or it will stay rejected.
Ok, if it is realized this strictly, it might work. And in the long term, being strict is probably the only way to go.
Title: Re: More Community-driven Development
Post by: binary1248 on June 18, 2013, 09:39:46 pm
Progress above all. I can't care less if my name shows up in the commit history or not. Knowing that I spent 2 months working on a fix that had a positive impact on SFML is enough satisfaction for me. If anyone wants proof that I really did contribute, I would just point them to the related forum post (if one exists) or the issue on the tracker. At least Laurent has the decency to mention that he applied a modified version of your commit and didn't just silently close the issue pretending you didn't do anything useful.

If someone really insists that they only recognize your contribution through the commit history although those alternatives exist, that's one more candidate for your blacklist of people you shouldn't bother explaining things to.

Progress => Self Satisfaction => Win

One day SFML will be the most used multimedia library in use and I will be able to honestly state that I was part of that progress, a long time ago in its little corner of the internet :). Until then, happy debugging and coding...
Title: Re: More Community-driven Development
Post by: Laurent on June 18, 2013, 11:16:05 pm
Problem is time, as usual.

I'd like to have the time to write a complete style guide for contributors, but I don't. Sometimes I take the time to tell people what to change so that their pull request can be merged, sometimes I don't because I really have no time. I know, it's so sad :'(
Title: Re: More Community-driven Development
Post by: Cornstalks on June 19, 2013, 12:23:33 am
Problem is time, as usual.

I'd like to have the time to write a complete style guide for contributors, but I don't. Sometimes I take the time to tell people what to change so that their pull request can be merged, sometimes I don't because I really have no time. I know, it's so sad :'(
Would it help if we (the community) wrote a style guide (which you would correct and revise when you had time), and then once you're satisfied with it then it's done? Once it's all written, it should be pretty easy to integrate it into the website (of course, this wouldn't be done instantly, but I'm trying to find ways to help out).

I certainly understand the issues with time.
Title: Re: More Community-driven Development
Post by: Laurent on June 19, 2013, 08:10:19 am
Yes, that would help a lot ;)
Title: Re: More Community-driven Development
Post by: Cornstalks on June 19, 2013, 05:06:08 pm
I created a style guide page on the wiki (https://github.com/SFML/SFML/wiki/Style-Guide). It would be awesome to have the whole community contribute to it! I'm just reading SFML's source code, finding patterns and documenting them. Right now I'm trying to create a general skeleton of the style guide, and after that it's just a matter of filling in the details.
Title: Re: More Community-driven Development
Post by: Laurent on June 19, 2013, 05:22:06 pm
Awesome, thanks :)
Title: Re: More Community-driven Development
Post by: FRex on June 19, 2013, 05:23:57 pm
Binary operators are padded with spaces, so are colons in init lists and access qualifiers, there is always space after if word and sharp brackets always are on own lines. Many things are padded to line up nicely like:
float WhateverX =  b;
float WhateverY = -b;
Namespaces are not indented, there is one space after ,
init lists have each element on own line.  & and * sticks to variable type and there is space between it and variable name.
One line if blocks can skip brackets.
New style casts are used.
There is strict const correctness.
Title: Re: More Community-driven Development
Post by: Syntactic Fructose on June 20, 2013, 01:39:13 am
I would love to help contribute to SFML! I just started watching the repository on github yesterday. After my haskell learning cools down a bit I would hope I can jump in and help fix some SFML bugs/contribute in any way I can.