Monday 2 September 2013

Thoughts on development

Let me begin by saying that if you are reading this, you should know that this is my personal blog. That basically means I can write whatever I want to about whatever the hell I want to. Okay? Good. Moving on....
Okay so when I had just started out on XDA as a young padawan seeking the light of knowledge, I came across several devs that maintained a blog. They shall not be named. Needless to say that is what inspired me to set this up. What interested me was how they talked about their projects and how others in their field of work were doing compared to them. I was amazed; never in my wildest dreams had I imagined a developer's life to be that cool.
A lot of them were complaining how some people were deceiving the community of users by copying code from others and compiling it with a different name. I can't say I am really very different but I do put in some effort into whatever I do. I am not saying that I am up to the standard of great developers, but that does not necessarily mean I am a sick jerk who takes credit for others' work. I always mention in the OP of all my threads creds go to the devs I "stole" the work from. That clears up the credits bit and brings me to my next point: supposed code theft. You should know by now that I am talking about kernels. The Linux kernel is supposed to GPL'ed (thank you Mr. Torvalds), which is basically a way of saying that "Yeah, go ahead. You are free to copy this bit and that. Just give credit where it is due," which I am sure most people know and practise by now. Therefore it is not logically right in my opinion to blame someone for stealing something that can legally be used by anyone, provided that someone gives credit where it is due (very important bit, this). There is probabl not one instance where I haven't directly/indirectly credited the author of any tweak that I use in my kernel. And I always commit my changes to Github (yeah you guys can compile it), so I am in full compliance with GPL and you can suck it.
One thing that bothers me though is how unorganised the developer community is turning out to be, mainly with the introduction of Original Development and Android Development. Now the good people behind XDA have made it absolutely clear what qualifies as original development and what doesn't. However newer developers or compilers or whatever (I mean this with the utmost respect) have somehow managed to forget the guidelines. As a result, the Original Development section is filled with ROMs and kernels that, if going strictly by the guidelines, don't belong there. Let me give you one example.
There is this kernel XPerience something. It's based on the CyanogenMOD sources with a few cherry-picks from some other repositories. A lot of the code is inspired from my Github (which in turn is inspired by the work of the others). A prominnt example would be the basic backlight control which I based on Metallice's work. And some others too. But I don't mind since I have been credited. My point is this.
My kernel is in the Android Development because I know I have not enabled/cooked up any original feature, and i can accept that. No problemo with that. However a kernel that is based on someone else's sources (like mine is), contains very little original work (a little like mine) and includes other's code (also similar to mine) is in the Original Development section whereas mine isn't. That makes me feel discouraged. I lose the urge to even try to achieve something when I know I can easily copy someone else's code and publish it as my own. For example, I know that M-Kernel has a UV interface for GPU components. However I chose not to utilise that and instead came up with my alternative code (almost a direct copy-paste of the CPU UV code). Given that it doesn't work (duh) I know that I can at least use some logic to solve a problem given to me. XPerience kernel may be great but I hardly feel it deserves to be in Original Development. My 2 cents only.
Now if anyone from XDA is reading this especially the OP of the kernel or a moderator, know this. I have no enmity or any feeling of malice towards you. I just wanted to express my feelings and I know the dev myself and firmly believe that it was just an honest mistake.
That's it for now.
And always remember before doing anything, ask yourself this:
"Why the fu**ing hell not?"
Stay cool.

2 comments: