Usually, when checking a #FOSS project on GitHub, project Stars it's the first that draws attention, it could be a nice popularity ref. but, personally, the first info I look for is the project CONTRIBUTORS. I think it's a good sustainability indicator. Let's talk about it! 1/n
At the very end, to keep a #FOSS project alive you need people working on that project. It could be the creator, maintainers or contributors. Anyone putting some time and effort into improving the project is welcome... really? Here my experience with #raylib... 2/n
Contribution to a project usually imply following some rules, that's one reason why a CONTRIBUTING.md file is recommended to be included in the repo: github.com/raysan5/raylib…. That file could also be accompanied by a ROADMAP.md to define the project aim. 3/n
Those files try to define the original objective and intention for the project, the background, some technical aspects like code organization or naming conventions and even recommended procedures to follow when contributing to it. My experience: some people do not read it. 4/n
In many cases, it's just small bug fixes or improvements that I can happily review in some minutes... but from time to time I receive big chunks of code with new features or library redesigns... Here comes the dilemma: accept the PR or refuse it. Not an easy decision! 5/n
My rule of thumb is maintainability. Should I be able to maintain it? What would be the technical/time cost to do that? How much makes it grow the library? In what direction? PR creator is going to maintain it? How long? Sometimes I refused great PRs just for those reasons... 6/n
So, for #raylib the best contributions are always small fixes and improvements, maybe a self-contained code example, build system tweaks or even testing reports and showcases. From time to time I merged big changes (UWP, RPI4 backends) but it requires a maintenance effort! 7/7

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with IMakeFOSS | Ramon

IMakeFOSS | Ramon Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @imakefoss

16 Dec
Today I'll share some amazing #FOSS #gamedev projects/libraries, mostly C/C++, that I like and I follow the development. First one is GLFW, a window/context/input management lib, for OpenGL and Vulkan initialization: github.com/glfw/glfw 1/n
Next one: the popular STB libraries: C/C++, single-file, header-only, self-contained, portable... The most notable ones are probably stb_image and stb_truetype, intended to load multiple image file formats and TTF/OTF fonts rasterization: github.com/nothings/stb 2/n
Next: miniaudio, a complete audio library to manage device initialization, playback and recording, supporting multiple OS and and backends... and all contained in a single portable header-only C file... just amazing! Check it out: github.com/mackron/miniau… 3/n
Read 9 tweets
15 Dec
Hi! Today I'd like to share some thoughts about code quality and deterioration on #FOSS, also related to technical debt, maintainability and product growing. Here it is my experience with #raylib after 7 years working on it... 1/n
When I started raylib, my programming knowledge was not the same than now, I learned many things during this journey and I know there are some pieces of code that should be rewritten from scratch. That requires redesign, implementation and testing... it requires time... 2/n
If that problem happens with a small project like raylib (~50K locs) and requires a fair amount of work to review and redesign, I can't imagine how painful it could be for bigger #FOSS projects with way more years in development. Same happens with closed source project... 3/n
Read 7 tweets
11 Dec
Let's talk about FOSS sustainability. DISCLAIMER: Following personal opinion is based on my experience with #raylib and following multiple gamedev opensoft libraries and tools. My perception: most FOSS out there is hardly sustainable. But let me elaborate a bit on that... 1/n
I believe most #opensource projects originate from an individual passion to create something and share it with the world. That perspective is very different from a comercial product, that is usually conceived to generate some kind of short-term long-term revenue... 2/n
A passion-driven development leads to passion-based decisions and sometimes those decisions do not fit in a bussiness-centered market. I mean, lot of FOSS is not created with revenue in mind, so, trying to make it sustainable after some time is a hard task... 3/n
Read 10 tweets
10 Dec
Writing some code and open source it is usually the easy part of FOSS; making that code clear, accessible, organized, structured... adds a level of complexity; sharing and presenting that code to the world in a proper way suppose an humongous effort. Some details to consider: 1/n
Code tips: KEEP IT SIMPLE. Try to avoid complex code and advance language features, code should be understandable by itself with the minimum comments, keep it organized with clear file naming, add extensive descriptions with details at beginning of code files for reference... 2/n
Some languages allow easier code than others, i.e. I found C lang can be quite easy (and enjoyable) to follow but C++ can be quite complex (specially when using advance language features), making it very difficult for potential contributors to jump into the project code... 3/n
Read 9 tweets
9 Dec
Let me start with a brief introduction of myself to FOSS. Actually, I started developing free and #opensource software with #raylib, it was 7 years ago and at that point I didn't specially care about FOSS, I just knew it was an option for soft development... 1/n
I had created several games and software in the past but it was mostly private, I actually didn't know how to make it "open source", most platforms to publish code looked quite confusing and unfriendly to me, so I hardly considered that option... 2/n
When I started #raylib development in summer 2013 I found a basic library called GLFW (github.com/glfw/glfw) to manage window and inputs, it was open source, zlib/libpng licensed. As far as I was building my software using it, I decided to use the same licensing option... 3/n
Read 7 tweets
11 Aug
Assuming X has only three elements (A, B, and C), the Powerset of X is given by: PS(X) = {{ }, {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}}. So we have eight possibilities. In the next step, the AutoMod algoritm estimates eight equations:
Assuming X has only three elements (A, B, and C), the Powerset of X is given by: PS(X) = {{ }, {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}}. So we have eight possibilities. In the next step, the AutoMod algoritm estimates eight equations:
After that, putting in simple terms, the AutoMod chooses the most capable model in terms of predicting power. This is something very useful for applied econometricians and it guarantees you had used all the possible combinations to extract your forecasts.
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!