The open source software’s is still not considered accessible as a part of proprietary software. I as a software developer try to summaries the licensing issues which are faced by a developer s with the use of open source software’s a in the development of a proprietary software trend. Open Source software tends to lack the complete and accessible documentation that retains users. The licensing mechanism of the open source software is ambiguous and Licensing is more critical for developers.
Developers generally feel that the software doesn't quite meet their needs, it lacks a given capability. To resolve the problem, the developers decide to build new functionality. The new, modified solution can be redistributed under the original license and is depending on the license selection. The result of this development is that new software is available for the software developer and organization. The bad news is that some of this software may run the risk of infringing upon patents of which the software authors were perhaps not aware. The numbers of open source licenses create a conundrum in the product development. The process for choosing a license, reviewing code and launching a product without liability concerns becomes more complex as the open source atmosphere expanding day by day.
The open Source Initiative (OSI) maintains a list of software licenses definitions and it certifies the licenses types. Currently it has 50 types of licenses used by open source development. We can divide these as four broader classes of licenses.
1) Academic/University licenses: It is truly open source having no constraints and conditions. Developer can use and redistribute them. Such licenses provide absolute freedom; only constraint here is needed to declare the original licensor's name as an endorsement in marketing efforts. BSD, MIT and Apache foundations of licenses fall in this category
2) Non-Permissive licenses: General public licenses version 2 licenses are restrictive a with respect to proprietary software. Because of its prominence, every project should at least consider a version of the GPL. Any derivatives of the software be released under the same license, and that the source code must be released. The resulting new software must also be free. The indent of such license is to ensure that the free software always remain free in any form. Mozilla public license also is an example of Non Permissive license
3) Permissive GPL license: The Lesser General public licenses (LGPL) much like the GPL, but it allows distribution of works forming certain types of combinations with proprietary, closed-source software. One constraint with such license is the condition with the linking of the open source libraries, these licenses ensure that the open source should dynamically linked to the proprietary software and the changes inside the open source code should be available.
4) Copyright/adaptive licenses: These are the list of open source licenses where the power is in the Initiator and all the contributors. Initial Contributor grants each Recipient a world-wide, royalty-free, non-exclusive copyright license
How to use OSI licenses:
It’s important to understand the effects of selecting the OSI licenses. Each license category has its own particular purpose, whether it's to ensure end-user freedom, prevent commercial use, or preserve a standard code base. One should aware of the fact that the copyrights are not the licenses, for software to reuse or redistribute one need license not the copyright information. In case of open source the copyright is use to keep the license and hence owner has less importance than that of the license. Here is the list of checklist need to perform in case of the OSI license selection
1) Check for permissibility of the open source software and which form developer is going to use the software. If the software falls under first category, the developer is king and having less concern about the legal issues.
2) How: How the software code is being used play a major role of Open software use. The scenario could be different types
->new software may require the Re- license?
->The software is using code base directly or linked?
->Check for the derivative software, some software may include other dependent software as a part.
3) Who: The recognition of the license type is the essence of open source software development. The type may be Apache, BSD, MIT, GPL, LGPL and many more. Each License has own rules and constraints. The agreement statement itself clear the cloud if carefully analyzed
4) Middle ground policy: Use restrictive like GPL for standalone programs, but permissive licenses like BSD for code that will be linked from other code.
5) Combination or derivation: GPL doesn't use the word "combination." It uses the phrase "contains, is derived from or based on “. Sometime it does mean a lot in the legal issues of software development.
6) Binary: The GPL license follow binary mechanism and hence whatever software will developed with GPL for commercial distribution it will fall under GPL, while anything derived from MIT/Academic software remain developer and organization specific.
7) Static Vs Dynamic linking in LGPL: LGPL allow using the open source library either (modified or original) at runtime. The modified open software code needs not to distribute. It is less restrictive in use and hence preferred by the closed software group.
Conclusion: Software License in open source world is a mechanism to communicate the owners and developer about what the software meant for and how it should be developed further. It associate some risks like releasing partially or even fully code along with software. It is recommended that developer should have a clear understating of licensing mechanism to use the open source software, which is one of the most ambiguous and cumbersome tasks.
Open source licenses never meant to restrict the development of software, the need of hour is to understand the importance of open source and follow the correct way to expand the horizons of software.
Refrenses :
http://www.softwarefreedom.org/resources/2008/foss-primer.html
http://www.opensource.org/licenses/apl1.0.php
http://www.catb.org/~esr/Licensing-HOWTO.html#AFL
Sunday, 5 December 2010
Tuesday, 11 August 2009
Change Root Password In linux!
The following steps were used to successfully reset the root password of a "Fedora 10" machine. In general, can be applied to any linux machine.
1. GRUBWhile booting, after the initial splash and POST screen of the bios, the control transfers to GRUB. If there is just one linux operating system installed, the GRUB screen is bypassed to the booting screen, in that case just keep on pressing or tapping the ESC Button until you see the GRUB Menu.
2. Edit Choose the OS you want to boot into and press "e" to edit.
3. Edit Find the line that corresponds to kernel, and again press "e". Add the following line to the end of the line.
single init=/bin/bash
Then press enter, and then "b" to boot the OS. After booting you will get a root shell.
4. Mounting the filesystem in readwrite mode: Type in the following command to remount the filesystem in read write mode.
mount -o remount,rw /
Not doing this step might give the following error when running passwd, passwd: Authentication token lock busy.
5. passwd Next just use the passwd command, and give a new root password, Now that's simple.
6. Reboot or init 5
OR from the root shell, you can also edit the /etc/shadow file to remove the password.
OR copy the /etc/shadow /etc/passwd file and use John-The-Ripper software to try cracking the password.
1. GRUBWhile booting, after the initial splash and POST screen of the bios, the control transfers to GRUB. If there is just one linux operating system installed, the GRUB screen is bypassed to the booting screen, in that case just keep on pressing or tapping the ESC Button until you see the GRUB Menu.
2. Edit Choose the OS you want to boot into and press "e" to edit.
3. Edit Find the line that corresponds to kernel, and again press "e". Add the following line to the end of the line.
single init=/bin/bash
Then press enter, and then "b" to boot the OS. After booting you will get a root shell.
4. Mounting the filesystem in readwrite mode: Type in the following command to remount the filesystem in read write mode.
mount -o remount,rw /
Not doing this step might give the following error when running passwd, passwd: Authentication token lock busy.
5. passwd Next just use the passwd command, and give a new root password, Now that's simple.
6. Reboot or init 5
OR from the root shell, you can also edit the /etc/shadow file to remove the password.
OR copy the /etc/shadow /etc/passwd file and use John-The-Ripper software to try cracking the password.
Friday, 22 May 2009
The Rough Things I lerant so far in GE...
This is In rough form and Naive concepts which i experiences in last 5 month as a process of project devlopment....
Eclipse helps.
...Eclipse ignores the CLASSPATH variable,
1.for successful running, the jre must be compatible with runtime environment.
2.For adding the java doc right click on rt.jar (a jar file inside the jre library) and select the javadoc location,browse the
path up to the api folder of docs.api folder must contain a index.html and index-files folder. In similar way we can add the docs file for
a specific jar and application if the java doc is availabale.
3.To run the jar file inside the eclipse just insert it as external jar .it becomes a referenced library inside the
project .
4.small "+" next to jogl.jar in the list of libraries, this expands to show four options.
Select the "Native library location:" option and press the "Edit" button.
Select the "<\lib" directory.
5. for unit testing of GUI we use Jfcunit
and for the webpages Httpunit is used.
6.testing of mouse event and all are complex and cumbersome.
7.apache poi is used to read and write on the mocrosoft word.
8.we can extract tables from a word document using macros
for a macro go
tools->macro->visal basic editor .....write and manipulate the macros ... you can also debug it using watch and breakpoints. file-->close return to word document
again tools ->macro->macros ....run the specific macro
9. you can include external jars inside an jar using a plug in known as bigfat plug in
10. system properties are the special propery of java which return vender specific information like OS name, architecture name,current directory etc.
using this one can exclude hard coded things from an application
10 eclipse debugging: program run successfully but giving the source not found error in debugging
This is probably because the Launch Configuration that is being used to debug the app is set up to use JARs instead of depending on the Project(s) directly. If you don't explicitly attach source to JARs, Eclipse doesn't know where to get it. By making the Launch depend on Project(s) it automatically knows where the source is (in the project).
So, check the classpath of the Launch Configuration.
11, Apache Commons Api is used to upload your file on web server.
12.C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\lib----all jars and class file of servelet
13.all servelet classes:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes
14 all jsp and html file :C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT
15 web .xml file:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF
16.in netbeans Uml is possible in 6.1 and earliar version.
17. to create jar just clean and build one jar file be ready for run in the dist folder all external jar are inside the lib subfolder
18.in fedora system the rpm is file ready to install .
methods you need to chmod 755 and the sh file name ...
19.
In linux to kill the process first type
ps aux: it will display the complete list
kill pid
20.)to run a jar file use
java -jar.jar
in case of external jars
java -jar main jar.jar
21) There are methods to get file inside the jar file in a program . one can create independent application using these methods
userDirectory=System.getProperty("user.dir");
in = this.getClass().getResourceAsStream( );
22)There are some plugin like find bug and PMD which is used to refactor your java code for efficiency
Thanks for now[:)]
Eclipse helps.
...Eclipse ignores the CLASSPATH variable,
1.for successful running, the jre must be compatible with runtime environment.
2.For adding the java doc right click on rt.jar (a jar file inside the jre library) and select the javadoc location,browse the
path up to the api folder of docs.api folder must contain a index.html and index-files folder. In similar way we can add the docs file for
a specific jar and application if the java doc is availabale.
3.To run the jar file inside the eclipse just insert it as external jar .it becomes a referenced library inside the
project .
4.small "+" next to jogl.jar in the list of libraries, this expands to show four options.
Select the "Native library location:" option and press the "Edit" button.
Select the "<
5. for unit testing of GUI we use Jfcunit
and for the webpages Httpunit is used.
6.testing of mouse event and all are complex and cumbersome.
7.apache poi is used to read and write on the mocrosoft word.
8.we can extract tables from a word document using macros
for a macro go
tools->macro->visal basic editor .....write and manipulate the macros ... you can also debug it using watch and breakpoints. file-->close return to word document
again tools ->macro->macros ....run the specific macro
9. you can include external jars inside an jar using a plug in known as bigfat plug in
10. system properties are the special propery of java which return vender specific information like OS name, architecture name,current directory etc.
using this one can exclude hard coded things from an application
10 eclipse debugging: program run successfully but giving the source not found error in debugging
This is probably because the Launch Configuration that is being used to debug the app is set up to use JARs instead of depending on the Project(s) directly. If you don't explicitly attach source to JARs, Eclipse doesn't know where to get it. By making the Launch depend on Project(s) it automatically knows where the source is (in the project).
So, check the classpath of the Launch Configuration.
11, Apache Commons Api is used to upload your file on web server.
12.C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\lib----all jars and class file of servelet
13.all servelet classes:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes
14 all jsp and html file :C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT
15 web .xml file:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF
16.in netbeans Uml is possible in 6.1 and earliar version.
17. to create jar just clean and build one jar file be ready for run in the dist folder all external jar are inside the lib subfolder
18.in fedora system the rpm is file ready to install .
methods you need to chmod 755 and the sh file name ...
19.
In linux to kill the process first type
ps aux: it will display the complete list
kill pid
20.)to run a jar file use
java -jar
in case of external jars
java -jar
21) There are methods to get file inside the jar file in a program . one can create independent application using these methods
userDirectory=System.getProperty("user.dir");
in = this.getClass().getResourceAsStream(
22)There are some plugin like find bug and PMD which is used to refactor your java code for efficiency
Thanks for now[:)]
Linux
Check out this SlideShare Presentation:
Linux
View more OpenOffice presentations from Shilpi Goel.
Subscribe to:
Posts (Atom)