Funkit Library Code
Status: Pre-Alpha
Brought to you by:
mexn00b
File | Date | Author | Commit |
---|---|---|---|
bin | 2009-09-03 | mexn00b | [r1] Empty Message |
src | 2009-09-04 | mexn00b | [r4] Empty Message |
COPYING | 2009-09-03 | mexn00b | [r1] Empty Message |
Funkit .NET.sln | 2009-09-03 | mexn00b | [r1] Empty Message |
Funkit.sln | 2009-09-03 | mexn00b | [r1] Empty Message |
License.txt | 2009-09-04 | mexn00b | [r5] Empty Message |
README | 2009-09-03 | mexn00b | [r1] Empty Message |
Readme.txt | 2009-09-04 | mexn00b | [r5] Empty Message |
Funkit - 'cause you don't need to code so much. ----------------------------------------------- 1. What is Funkit? Funkit is a .NET/Mono library filled with portable “pre-coded” functions, methods, classes, and other goodies to make your programming life easier and develop faster. Instead of writing 6 lines to do something simple, lets say for example: I want to get what the 43rd line of a text file reads, normally I would declare the file reader, instance the file reader class, skip through the stream until it finds the line get the result and store it, close the stream and then dispose. That's probably 6-10 lines there, depending on how you coded. Now with the Funkit you simply use a precoded function, one line, same results, it's that easy. You could compare Funkit to the “My” namespace in VB.net, code thats usually used with just a single line. 2. What does Funkit include? Funkit plans to provide code for the following categories: File I/O Networking Data/XML Process Management Information/Stats Cryptography Compression GUI (GTK#, WinForms) Console Apps Currently included in this release: Some GTK# code 3. What platforms does Funkit support? Funkit supports the .NET framework for Windows, and the Mono Platform for Linux, OS X, and BSD (you can also use Mono on Windows). 4. How can I use Funkit? If you downloaded the source-code release of Funkit read section #5 to find out how to build Funkit first. Once you have built Funkit (or you are using a binary release) you can then Reference the Funkit library in your project and if you wish you can import the namespace "Funkit". 5. How can I compile/build Funkit? The best way to build Funkit is using an IDE. Funkit comes with 2 project solution files, the one labeled as Mono is the full Funkit library, and the one labeled .NET excludes the Gtk part of the library and does not include references to GTK#, and other Mono related references. This is so they can be built without the need of Mono or the GTK# libraries. a. Building with MonoDevelop: Load the Funkit solution or the Funkit.csproj file. Then it's as simple as clicking the Build project button on the toolbar, the Build menu in the menubar, or by right clicking the project on the Solution panel. The compiled binary files will be locate in the bin/debug or bin/release. b. Building with SharpDevelop: The same process as with MonoDevelop but it is recommended you choose the .NET solution if you don't have Mono installed. c. Building with Visual Studio: First load the .NET solution in Visual Studio. Then build the solution in the Build menu, or Right-clicking the solution in the solution explorer. The compiled binary files will be locate in the bin/debug or bin/release ending in "-dotnet". 6. What is Funkit's license, usage conditions, and terms? Funkit is licensed under the GNU Lesser General Public License version 3 please see the COPYING file for more details. The fine people at Creative Commons have created an easy to understand page outlining the terms and conditions of the LGPL license (http://creativecommons.org/licenses/LGPL/2.1/) Please note: In the time this README was written, the Creative Commons page outlined and linked to the LGPL version 2.1, not 3.0, note that Funkit uses the 3.0 version of the LGPL. 7. How can I use Funkit in my proprietary, closed-source project? If you decide to use Funkit in your proprietary project, closed-source project, that's fine, aslong as you follow the terms and conditions of the LGPL license, read the section above for more info. 8. I don't understand the LGPL, can you try to explain how can I use Funkit in an easy to understand way? Note: The following are just suggestions to atleast give you an idea of what the LGPL is about, if you don't understand the LGPL then you should seek help from someone who does (like a lawyer), or read more about the LGPL here: http://www.gnu.org/licenses/licenses.html a. I'm using Funkit in my proprietary, closed-source project, but I used/linked/included a version of Funkit that was NOT modified. You must state that your project uses the Funkit library, that Funkit is licensed under the LGPL, who the copyright holders are, and where you can obtain/download the non-modified source code of Funkit. (for example: Providing a link to the Funkit project website) b. I'm using Funkit in my proprietary, closed-source project, but I used/linked/included a version of Funkit that WAS modified. You must state that your project uses the Funkit library, that Funkit is licensed under the LGPL, and who the copyright holders are. You also need to include the full modified source code of Funkit in your project's distribution. OR you can provide where you can obtain/download the modified source code of Funkit. c. I took source code from the Funkit source code and added it into my proprietary, closed-source project's source code. You can't do this with the LGPL. You must open-source your project using a license compatible with the LGPL. 9. My project is open-sourced how can I use Funkit in my project? You have to make sure that your project's license is compatible with the LGPL (check here for a list of which ones that are: http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses) If your project is using a license that is not compatible with the LGPL then you have to do the same as if your project was closed-sourced (follow the terms and conditions of the LGPL) 10. Contributing to the project Anyone is able to contribute to the project, if you wish to contribute, please visit our sourceforge page at http://funkit.sourceforge.net