Opinions about open source - General Questions and Answers

Hi,
I am accustomed to the habits of the Linux community. There, if you have created an app, the first thing you do is to provide a g'zipped archive file containing all source code, a README file, and a manual. Then you announce it in forums, get response and comments about your code. Everybody happy.
In the Android (and possibly other xda) communities the source code seems to be "top secret". There are many free apps but very few open source projects. Why is this? Why has every developer to reinvent the wheel?
As you might guess, I created an open source project. This is an audio app for Android tablets, it's a software instrument, and I was unable to announce it here because I have less then 10 posts. Please google for "One-Hand-Synth".
wboe

Related

TaintDroid source code released

Hi everyone,
I apologize if if this is not the appropriate place to post this info, but I thought it would be of interest to some people here. You may have seen stories in the news recently about the privacy-monitoring extension for Android called TaintDroid that was developed by researchers at Penn State, Intel Labs, and Duke University. An excellent summary can be found on Ars Technica.
The reason I'm posting to this forum is that we are proud to have made our source code available last night. If you want to play around with the code, you can find it at the TaintDroid website (search "taintdroid appanalysis"). Along with links to the source code, you will find instructions for getting the code up and running on a Nexus One. We have also set up a Google Group for users who want to discuss anything related to the project.
Our only caveats are that we are merely researchers so 1) you use the code at your own risk, and 2) we do not have the resources to offer proper support. We hope that by releasing the code to the public a self-sustaining community of interested users will form.
We hope that you find our code interesting and useful. Happy hacking!
-landon
Thanks for releasing the code. Look forward to using it on an incredible rom soon.
http://appanalysis.org/tdro1d.html
I'm assuming that's the link. Couple of questions.
1.I see it's on 2.1 rom, does it work with 2.2? Especially as it uses the 2.6.32 kernel.
2.Since the Desire is basically a Nexus One with sense, has it been tested on that platform or with sense?
Thanks for releasing the source and instructions!
This is what Android needs, as Google is not taking good care of the privacy of it's users.
It's impossible to install apps now, because most of them want really wide rights, but you have no idea what they do with those rights.
TaintDroid at least gives a possibility to peek into what is being leaked.
Soon some of the app makers will start to encrypt their calls to try and and mask what they are leaking. If/when this happens, it should be a warning sign to users about that particular app.

[Q] Android ROM/Application Source Code

I am new to programming and understanding the concepts behind it and I was wondering if anyone could point me in the direction to some source code for the excellent ROM's I have seen on here or any applications which have been developed for the Android OS? The reason for this request, I need to see the code to understand what's going on behind the scenes to make a ROM/application function. I figure if I am able to study the code, I may actually be able to understand finally how to develop either an application or ROM. Thanks in advance. :good::good::good:
LivioDoubleFang said:
I am new to programming and understanding the concepts behind it and I was wondering if anyone could point me in the direction to some source code for the excellent ROM's I have seen on here or any applications which have been developed for the Android OS? The reason for this request, I need to see the code to understand what's going on behind the scenes to make a ROM/application function. I figure if I am able to study the code, I may actually be able to understand finally how to develop either an application or ROM. Thanks in advance. :good::good::good:
Click to expand...
Click to collapse
Most of the ROM's that are built from source either use AOSP source code which the source code can be found here, Cyanogenmod source code which can be found here, AOKP source code which can be found here, or Paranoid Android source code which can be found here, or the ROM's use a combination of all these listed and cherrypick there favorite features from each while adding there own. When it comes it seeing what other changes have been made by the developer the easiest way to look at the source code is looking at each developers github profile if available which can be accessed by usually searching for there username on github or clicking on there username here on XDA and selecting the "View Github profile" option. Let me know if you still have questions .
Thank you shimp208 for your expedient response on this issue. I will definitely be checking out the links you have provided and with hopes, gain a deeper understanding of the Android OS to become a developer myself.
LivioDoubleFang said:
Thank you shimp208 for your expedient response on this issue. I will definitely be checking out the links you have provided and with hopes, gain a deeper understanding of the Android OS to become a developer myself.
Click to expand...
Click to collapse
I wish you the best of luck man, these guides are also definitely worth taking a look for getting started with a variety of ROM development aspects http://xda-university.com/as-a-developer.
Sent from my SCH-I535 using xda premium
Thanks a lot
shimp208 said:
Most of the ROM's that are built from source either use AOSP source code which the source code can be found here, Cyanogenmod source code which can be found here, AOKP source code which can be found here, or Paranoid Android source code which can be found here, or the ROM's use a combination of all these listed and cherrypick there favorite features from each while adding there own. When it comes it seeing what other changes have been made by the developer the easiest way to look at the source code is looking at each developers github profile if available which can be accessed by usually searching for there username on github or clicking on there username here on XDA and selecting the "View Github profile" option. Let me know if you still have questions .
Click to expand...
Click to collapse
Thanks For Help i too had same Que.
Thank you very much :good:

Open Source MDM (Mobile Device Management)

Hey Guys,
This is my first post in a long time, however I figured I'd give it a shot since it can possibly be an opportunity for someone here.
I am looking for an Open Source MDM (Mobile Device Management) tool for android. Generally since my employer is interested in possibly creating one for our specific project needs.
I've been searching and haven't really come across anything so we are interested in hiring a "consultant" or developer whom has made apps or custom roms with MDM features, or has already created some form of MDM and can participate in an open source MDM project.
This is a great opportunity to participate in a project that WILL BE DEPLOYED out in the field to hundreds and eventually thousands of tablets.
If you are that person that can help, or know of someone please let me know.
Or if you know of an Open Source MDM solution already out there, that would be greatly appreciated as well.
My e-mail is [email protected]
Thanks,
-E
Open Source MDM (Mobile Device Management) tool for android
We are also looking for an Open Source MDM for Android. Thus far the only potential options I seem to be able to locate are OpenMEAP, and potentially Funambol (though its more carrier oriented these days).
Please let me know how you go as we may be interested in contributing.

[Q] Rules of Open Source development

Hi!
After only being a user for a long time, I've recently begun to develop for Android as well, and I think that I have identified quite a few niches that could use better apps. However, I've never collaborated on an Open Source project, and I'm really unsure what the written and unwritten rules of the subculture are. Could anyone point me in the direction of good resources to learn about them? I know I can probably find those through Google, but I wouldn't know if I'd end up on any site owned by Stallman or Shuttleworth and I'd rather be part of the mainstream, so to speak.
To indicate what kind of questions I'd like to have answered, without requiring anyone to answer them here: What level of expertise is required? Can I just join anyone and upload to their repository, relying on them to sort out the parts they want? When can or should I fork a project? When is it considered rude to take code snippets from someone? How sure can I be that the project's owner won't change the license and steal my code? How would those questions be answered if money is involved? Is it considered reasonable to make an Open Source application that people pay for in the Play Store? How would I handle contributions to such a project? What would be the best license to ensure that I both contribute to the Open Source movement and protect myself against people stealing code? (I. e. just forking it and slapping their name on it.) And many, many more - as I said, I'm really unsure how to start out with this.
Thanks very much in advance!
Regards,
David
Maybe I can help you on a few of those points. First off, feel free to fork anything you feel like, whenever you feel like something needs to change. Also feel free to push any changes you make back to the original project. The project owner can decide what to merge in. As for lisening, please note Im NOT A LAWYER, however, I think I can offer some general knowledge. If code is under a typical open source license, the code at that particular point in time is free to be viewed by anyone. A lot of open source licenses, though not all, are considered 'copy-left', in that any code DERIVED from the liscensed code also has to follow the same license (GPL comes to mind). This helps from people 'stealing' your code at a later point under a closed license. As for taking code snippets, it depends on the license of the code. If you grab a piece of code from a GPL codebase, whatever you're using that code in also has to be GPL licensed. You are in essence taking their code, and modified it. Learning more about different open source licenses might be something to look into, depending on how far you want to delve into this As for making people pay on Play store for open source projects, its certainly acceptable. A lot of people make money from open source software by prividing some form of 'support'. Whether thats tech support, or whether its compiling, packaging, and making it available (as you might do for an android app) you are providing some sort of service aside from the actual code that people will pay for. I've seen a few projects go this route. Hope this gives you more answers than it does questions! The OSS community I've found to be a pretty easy going group of people, so long as you follow a little common courtesy, and have a bit of common sense. Cheers!
Thanks a lot for your reply! It has certainly helped me to make my mind at ease - I know that Open Source people can often be _very_ friendly and open, but it seems like you really do not want to get on their bad side if you intend to be a developer. That's also why I especially worry about being rude, not about doing something illegal - the licenses themselves seem to be quite permissive.
Quick followup question on the money thing, though - is it accepted by Google if I offer a paid app in the Play Store and at the same time free on F-Droid? Or would I have to ask someone to compile and upload it there without my official participation? Because that would kinda be the ideal model for me - Open Source, free app on F-Droid and sideloaded, "lite" and paid versions in the Play Store. Something like that would be good to know before I actually begin thinking about deploying some app.

GPL and closed source custom ROMs

Hi,
I have done some search around the topic and did not find much. I would like to have your opinion on this:
Let's say that there are some ROM developer who took an open source ROM code and installed Bluz bluetooth stack that is under GPL. then released the ROM as closed source. Is this legal ? can you take some open source stuff and closed source them then distribute the binaries?
Another issue that I am wondering about, is why ROM developers never release the source code of their ROM, so others can build on top of their work? for example many TV boxes and dev boards have closed source custom ROMs. If they are giving it out for free, and they are not really after money, why not open source the thing. They usually get busy cooking a ROM for another device and they do not really care about the older one, so why not release the source code, and let others continue their work.
I want to start by saying, that if you find any closed-source ROMs that also don't release the kernel source, then it's a problem, and you should report the thread if it's on XDA. Otherwise, read on.
Now, let's take a look at how Android is licensed. The Android OS itself is licensed under the Apache Open Source License. The Apache License allows people to use, modify and redistribute the licensed code as they see fit as long as they include the Apache License in what they modified. Apache also allows someone to take open source work and make it closed source after modification, if they want. Apache is a pretty flexible license.
The confusion comes in when including the kernel. Since Android uses a modified Linux kernel, which is licensed under GPL, its kernel is also required to be licensed under GPL. That means anyone who makes an Android kernel, unless they build one from scratch, has to release the source, and under the GPL license. Manufacturers, such as LG, Samsung and Huawei, opt not to release the source for their AOSP derivative, but they're required to release their kernels (that's why you'll see the opensource.whateverOEM.com pages).
As for hobbyist developers, well, it's up to them whether or not to release their ROM source, as long as they publish their kernel source. No one can really explain why a developer would do this, except that developer. It can be annoying, especially once that ROM is abandoned, but it's in a developer's right to withhold the ROM source.
Now, for your bluez example. I don't believe it's illegal to package in GPL projects into a closed source project, given two things: that GPL project should be mention (if the closed project is a ROM) in the About>>Legal section of Settings, with a link and the license for it; and that GPL project must not be modified from the original source. If it is modified, the developer is required to release just the GPL portion. Everything else can say closed source. So no, you can't take a GPL project, modify it, and then redistribute the modified version without releasing the source. However, if it isn't modified, a link and license should be all that's needed. Neither situation requires releasing every part of the project.
Thank you for comprehensive answer. One small thing to clarify. So if Bluez and Kernel are both GPL projects, how come it is enough to have a link for the Bluez project while for the Kernel there must be a source code release? is it because it is almost always that the dev needs to modify the Kernel for their use? and once modified the code needs to be open?
Related to the topic, is how Google dealt with BlueZ.
The story of Android’s Bluetooth support is long. Android originally used the open source BlueZ stack that is common in Linux. But Google removed the bluez stack that was originally in Android because of its GPL license. Instead it decided to develop its own BlueDroid Bluetooth stack with Broadcom.
The GPL license that came with BlueZ caused all kinds of problems. GPL licensed code forces other code using it to be released under the GPL license as well. In order for Google to keep their own license for their code and avoid GPL, it had to isolate BlueZ with another process and D-BUS. This form of communication is one of the commonly accepted exceptions that allows non-GPL code to use GPL code without issues.
But the workarounds didn’t work out so well in practice. They caused a lot of overhead and extra code that wasn’t otherwise needed, which ultimately led Google to drop it. It begain developing Bluedroid when it was offered by Broadcom.
In practice this meant that starting from Android 4.2 when BlueZ was dropped, a brand new and unproven stack was used in Android Smartphones, with all the issues that come with it.
Click to expand...
Click to collapse
http://www.argenox.com/blog/android-5-0-lollipop-brings-ble-improvements/
kokonuts86 said:
Thank you for comprehensive answer. One small thing to clarify. So if Bluez and Kernel are both GPL projects, how come it is enough to have a link for the Bluez project while for the Kernel there must be a source code release? is it because it is almost always that the dev needs to modify the Kernel for their use? and once modified the code needs to be open?
Related to the topic, is how Google dealt with BlueZ.
http://www.argenox.com/blog/android-5-0-lollipop-brings-ble-improvements/
Click to expand...
Click to collapse
If the kernel hasn't been modified, only the original source needs to be available. But with Android, you usually need to make modifications.

Categories

Resources